我提供的某些参数为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;
就样就解决了。。一个下午时间就这样过去了。。