0

我有一个在 SSMS 中运行良好的 sql 存储过程。当我尝试通过代码执行并将返回分配给数据集时,我得到了零行。我已经使用即时窗口来确保我将正确的参数发送到存储的过程,这一切都很好。

还有什么会导致我将零行分配给数据集。这是我的代码。

谢谢,迈克

编辑:我没有从 SQL 中得到任何异常..

Public Function GetTransReporting(ByVal transNumber As Long, ByVal customerID As Long) As DataCommon.transReporting

Dim myTransReporting As New transReporting

    Dim da As SqlDataAdapter
    Dim prm1 As SqlParameter
    Dim prm2 As SqlParameter
    mcmd = New SqlCommand
    mcmd.CommandType = CommandType.StoredProcedure
    mcmd.Connection = mcn
    mcmd.CommandText = "GetTransReportingByCustomerID"

    prm1 = New SqlParameter("@transNumber", Data.SqlDbType.BigInt)
    prm1.Value = customerID
    mcmd.Parameters.Add(prm1)

    prm2 = New SqlParameter("@customerNumber", Data.SqlDbType.BigInt)
    prm2.Value = transNumber
    mcmd.Parameters.Add(prm2)

    da = New SqlDataAdapter(mcmd)
    da.Fill(myTransReporting)

Return myTransReporting

End Function

4

2 回答 2

1

明白了..如果您在上面查看我的参数,我会不小心将交易分配给客户,将客户分配给交易。哦!

谢谢,迈克

于 2009-11-12T21:13:35.680 回答
0

您的存储过程是否以 SET NOCOUNT ON 开头?如果存储过程在最终 SELECT 之前处理多个查询,则缺少此功能有时会导致问题。

于 2009-11-12T20:58:59.297 回答