关闭

C#: 调用存储过程或函数显示"需要"参数,但未提供该参数的解决方法

标签: 存储c#数据库null
1547人阅读 评论(0) 收藏 举报
分类:

在平时的C#项目开发中,当调用某个存储过程或函数的时候,我们可能经常会遇到这样的问题,

“过程或函数XXX需要XXX参数,但未提供该参数”,  这到底是怎么回事呢?是什么问题引起的?

出现这个错误一般会由以下几种情况引起:

1.  程序中传入参数与已定义的存储过程或函数的参数个数或名称不符;

2.  没有对传入的数据作空值的处理,如下,我们需要对可以为空的值作这样的处理,一旦其为空,就设置为DBNull.value.

foreach(SqlParameter p in parms)
{
  if(p.value == null)
  {
  p.value=DBNull.value;
  }
}

3. 传入了参数,却没有真正通过sqlCommand去操作。

所以当遇到这样的问题,首先需要做的就是检查一下写的代码是否属于这几种情况,如果是就做相应处理,或者考虑定义的变量是否被初始化

注意:通常都是数据库存储过程中定义的参数和C#里面定义的参数名字不一致,必须要定义一致


 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:196539次
    • 积分:2982
    • 等级:
    • 排名:第12193名
    • 原创:82篇
    • 转载:77篇
    • 译文:0篇
    • 评论:23条
    最新评论