小编典典

如何通过 NULLABLE 变量将 VB.Net 中的 NOTHING 考虑为 SQL Server 中的 NULL

sql

存储过程中的参数是@classid INT = NULL, @streamid INT = NULL. 现在在 VB.NET 中,我将两个变量声明Dim classid As Int32?, streamid As Int32?NULLABLE. 如果没有值传递给这些参数,那么它通过NOTHING.

是否NOTHING被视为在 SQL Server 中,或者在将参数传递给 SP 时NULL我必须从代码中显式传递?DBNULL.Value

因为当我直接从 SQL Server 执行我的 SP 时,它会显示结果,但是如果我从应用程序调用我的 SP,那么它不会显示任何记录。

从代码传递参数:

cmd.SelectCommand.Parameters.AddWithValue("@class", classid.GetValueOrDefault())
cmd.SelectCommand.Parameters.AddWithValue("@stream", streamid.GetValueOrDefault())

我正在传递上述两个参数。


阅读 66

收藏
2022-07-21

共1个答案

小编典典

1:您在存储过程中声明的参数是

@classid INT = NULL, 
@streamid INT = NULL

但从VB.Net传递参数是

@class
@stream

您必须在双方都有相同的参数才能使其正常工作。

2:参数应声明为

@classid INT NULL, 
@streamid INT NULL
2022-07-21