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 に答える