Private Sub LogPackage(ByVal RecordId As Integer) 'Loop through the records in the log and add to database For i As Integer = 0 To (dgLog.Rows.Count - 1) Dim strValues(4) As String 'Id strValues(0) = RecordId 'RxNumber (6 digit number) strValues(1) = dgLog.Rows(i).Cells(3).Value.ToString 'ProductName strValues(2) = dgLog.Rows(i).Cells(6).Value.ToString 'Quantity strValues(3) = dgLog.Rows(i).Cells(4).Value.ToString 'Charge strValues(4) = dgLog.Rows(i).Cells(5).Value.ToString Dim dsData As New DataSet Dim objConnection As New SqlConnection Dim objCommand As New SqlCommand Dim objAdapter As New SqlDataAdapter Try objConnection.ConnectionString = "Server=Server;Database=ShippingLog;User Id=UserId;Password=UsersPassword" objConnection.Open() objCommand.CommandType = CommandType.StoredProcedure objCommand.CommandText = "InsertShipmentDetails" objCommand.CommandTimeout = 0 objCommand.Parameters.AddWithValue("@MailLogId", CInt(strValues(0))) objCommand.Parameters.AddWithValue("@RxNumber", strValues(1)) objCommand.Parameters.AddWithValue("@ProductName", strValues(2)) objCommand.Parameters.AddWithValue("@Quantity", strValues(3)) objCommand.Parameters.AddWithValue("@Charge", strValues(4)) objCommand.Parameters.AddWithValue("@spstat", 1) objCommand.Parameters.AddWithValue("@errmsg", "") objCommand.Parameters.AddWithValue("@recn", 0) objCommand.Connection = objConnection objCommand.ExecuteNonQuery() objConnection.Close() objCommand.Dispose() Catch ex As Exception MsgBox(ex.ToString) End Try Next
USE [ShippingLog]GO/****** Object: StoredProcedure [dbo].[InsertShipmentDetails] Script Date: 6/25/2012 7:42:05 AM ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER PROCEDURE [dbo].[InsertShipmentDetails]@MailLogId int,@RxNumber nvarchar(6),@ProductName nvarchar(255),@Quantity nvarchar(255),@Charge money = null,@spstat int OUTPUT,@errmsg varchar(200) OUTPUT,@recn int OUTPUTASDECLARE @numrecs intSET NOCOUNT ONSET @spstat = 1 -- go ahead and set to okSET @errmsg = '' -- set default error message to nothing SET @recn = 0 -- set default record number to zeroBEGIN TRY BEGIN TRANSACTION INSERT INTO ShipmentDetails (MailLogId, RxNumber, ProductName, Quantity, Charge) VALUES (@MailLogId, @RxNumber, @ProductName, @Quantity, @Charge) --notice they are the input parameters above SET @numrecs = @@rowcount if @numrecs=0 BEGIN SET @spstat = -1 SET @errmsg = 'No record added' SET @recn = 0 END COMMIT TRANSACTION RETURN @spstatEND TRYBEGIN CATCH DECLARE @ErrorNo int, @Severity int, @State int, @LineNo int, @errmessage varchar(1000) SELECT @ErrorNo = ERROR_NUMBER(), @Severity = ERROR_SEVERITY(), @State = ERROR_STATE(), @LineNo = ERROR_LINE(), @errmessage = ERROR_MESSAGE() ROLLBACK TRAN SET @errmsg = CONVERT(varchar(200), @errmessage) SET @spstat = 0 --error occuredEND CATCH
' objCommand.CommandTimeout = 0
BEGIN TRANSACTION trShipmentDetailsBEGIN TRY INSERT INTO ShipmentDetails (MailLogId, RxNumber, ProductName, Quantity, Charge) VALUES (@MailLogId, @RxNumber, @ProductName, @Quantity, @Charge) --notice they are the input parameters above SET @numrecs = @@rowcount if @numrecs=0 BEGIN SET @spstat = -1 SET @errmsg = 'No record added' -- SET @recn = 0 not necessary because you have previously assign this value END ELSE SET @recn = @numrecs COMMIT TRANSACTION trShipmentDetailsEND TRYBEGIN CATCH DECLARE @ErrorNo int, @Severity int, @State int, @LineNo int, @errmessage varchar(1000) SELECT @ErrorNo = ERROR_NUMBER(), @Severity = ERROR_SEVERITY(), @State = ERROR_STATE(), @LineNo = ERROR_LINE(), @errmessage = ERROR_MESSAGE() ROLLBACK TRAN trShipmentDetails SET @errmsg = CONVERT(varchar(200), @errmessage) SET @spstat = 0 --error occured SET @recn = 0END CATCHRETURN @spstat
Dim recno As Integer objCommand.ExecuteNonQuery() Integer.TryParse(command.Parameters(command.Parameters.Count - 1).Value.ToString(), recno) If recno = 0 Then...