C#如何向存储过程传递NULL值或空参数~

2024-12-29 08:19:47
推荐回答(4个)
回答1:

第一个问题,首先你确定你的sqlparameter参数里的确是提供了相应的参数,然后给参数赋值DbNull.value;
第二个问题,我觉得首先你确定datagridview绑定的数据源里有结果,可以通过添加断点查看一下,我估计数据源里的结果为空,原因可能是你传递的参数值有误

回答2:

存储过程的参数要这么写:

@p1 int=null,
@p2 int=null,
@p3 nvarchar(50)=null

存储过程里面这么判断:
if(@p1 is null)
BEGIN

END
else if(@p2 is not null)
BEGIN

END

在C#里面,如果要传递空的值类型,可以使用可空类型

public void M(int? p1,int? p2)
{
}

回答3:

DbNull
http://msdn.microsoft.com/en-us/library/system.dbnull.aspx

回答4:

在后面加is null