05
2012
08

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

我提供的某些参数为null

直接在数据库里面运行存储过程没有问题

 

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

 

 

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

 

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

解决方案:


.Net Code

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;

就样就解决了。




版权声明:
作者:真爱无限 出处:http://www.pukuimin.top 本文为博主原创文章版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接.
« 上一篇下一篇 »

相关文章:

评论列表:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。