读书人

c#调用存储过程提供了参数总是提示“

发布时间: 2012-09-14 23:00:49 作者: rapoo

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

我提供的某些参数为null

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

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#

热点推荐