zl程序教程

您现在的位置是:首页 >  后端

当前栏目

c#调用存储过程,提供了参数老是提示“没有提供该参数”

c#存储 参数 过程 调用 提示 没有 提供
2023-09-27 14:29:33 时间

 

vs调试时也是有参数的,只是有些参数值为 null 时有问题; 值不为null时,就没有问题。

 

 

后来,自己摸索、百度了几个小时没有找到解决方案

 

后来,我就从null和DBNull入手,在参数赋值前判断了一下,运行才没有问题,在参数赋给command时,要判断一下

解决方案:

 if (parameters != null)

 foreach (SqlParameter parameter in parameters)

 if (parameter != null)

 if (((parameter.Direction == ParameterDirection.InputOutput) || (parameter.Direction == ParameterDirection.Input)) (parameter.Value == null))

 parameter.Value = DBNull.Value;

 command.Parameters.Add(parameter);

 }


 

就是为空时,赋值: parameter.Value = DBNull.Value;

 

就样就解决了。。一个下午时间就这样过去了。。


C++函数及参数 传值- 传递的是数据副本(结构、普通数据类型数据) 传地址- 传递的是数据变量的地址(数组等) 传值的缺点是需要复制数据副本,数据量大可能增加内存需求,降低系统运行速度; 传地址也有传地址的不好的地方,比如在不需要修改原数据的时候,一不小心把数据修改了,造成程序的违需求性;