2009-04-24 3 views
1
ALTER PROCEDURE dbo.uspGetOrderTrackingHeaderInfo 
    @ContractID varchar(9) 
, @SalesRepID int 
, @StatusID int 
, @TypeID int 
, @StartDate datetime 
, @EndDate datetime 
, @Identity int = null output 

AS 

INSERT INTO [dbo].[tblOrderTracking] 
      ([ContractID] 
      ,[StatusID] 
      ,[TypeID] 
      ,[SalesRepID] 
      ,[StartDate] 
      ,[EndDate]) 
    VALUES 
      (@ContractID 
      ,@StatusID 
      ,@TypeID 
      ,@SalesRepID 
      ,@StartDate 
      ,@EndDate) 


SET @Identity = Scope_Identity() 

Using oConn As New SqlConnection(Me.Master.Master.AdminNetConnString) 
     Try 
      With cmd 
       .Connection = oConn 
       .CommandType = CommandType.StoredProcedure 
       .CommandText = "dbo.uspInsertOrderTrackingInfo" 
       .Parameters.AddWithValue("@ContractID", Session("@OrderContractID")) 
       .Parameters.AddWithValue("@SalesRepID", Integer.Parse(Me.ddlSalesRep.SelectedValue.ToString())) 
       .Parameters.AddWithValue("@StatusID", Integer.Parse(Me.ddlStatus.SelectedValue.ToString())) 
       .Parameters.AddWithValue("@TypeID", Integer.Parse(Me.ddlOrderType.SelectedValue.ToString())) 
       .Parameters.AddWithValue("@StartDate", CDate(txtStartDate.Text.Trim)) 
       .Parameters.AddWithValue("@EndDate", CDate(txtEndDate.Text.Trim)) 
       .Parameters.Add("@Identity", SqlDbType.Int, ParameterDirection.Output) 
      End With 

      oConn.Open() 

      cmd.ExecuteNonQuery() 
      Session("WorkingOrderID") = cmd.Parameters("@Identity").Value 

      Response.Redirect("OrderOverview.aspx") 
     Catch ex As Exception 
      Me.Master.Master.HandleException(ex, True, "An error occured while attempting to save the order setup information") 
     Finally 
      If Not cmd Is Nothing Then 
       cmd.Dispose() 
      End If 
     End Try 
    End Using 
+1

단지 cmd 객체를 using 구문에도 추가 할 수 있다는 점에 유의하십시오. 그런 다음 호출하는 메소드가 예외를 처리하도록합니다. –

답변

3

당신은 PROC "uspGetOrderTrackingHeaderInfo"에 대한 코드를 게시 한 당신은 PROC "uspInsertOrderTrackingInfo"을 요구하고있다. 아마도 잘못된 proc을 수정했고 Insert에 출력을 가지지 않았을 것입니다.