存储过程中的参数是@classid INT = NULL, @streamid INT = NULL. 现在在 VB.NET 中,我将两个变量声明Dim classid As Int32?, streamid As Int32?为NULLABLE. 如果没有值传递给这些参数,那么它通过NOTHING.
@classid INT = NULL, @streamid INT = NULL
Dim classid As Int32?, streamid As Int32?
NULLABLE
NOTHING
是否NOTHING被视为在 SQL Server 中,或者在将参数传递给 SP 时NULL我必须从代码中显式传递?DBNULL.Value
NULL
DBNULL.Value
因为当我直接从 SQL Server 执行我的 SP 时,它会显示结果,但是如果我从应用程序调用我的 SP,那么它不会显示任何记录。
从代码传递参数:
cmd.SelectCommand.Parameters.AddWithValue("@class", classid.GetValueOrDefault()) cmd.SelectCommand.Parameters.AddWithValue("@stream", streamid.GetValueOrDefault())
我正在传递上述两个参数。
1:您在存储过程中声明的参数是
但从VB.Net传递参数是
@class @stream
您必须在双方都有相同的参数才能使其正常工作。
2:参数应声明为
@classid INT NULL, @streamid INT NULL