C#报错 过程或函数需要参数但是未提供该参数

最近遇到这个问题,开始以为是没写参数或者传入参数名不匹配

后来打印参数发现并没有错。

后来以为是命令类型写错了。如果是存储过程要设置为CommandType.StoredProcedure。

还是没错。

最后才发现,传入参数的时候不能直接传null!!

比如这种情况

string Name = null;
new SqlParameter("@Name", SqlDbType.NVarChar) { Value = Name },

这样直接传递了null给参数,就会报错。

正确的写法

new SqlParameter("@Name", SqlDbType.NVarChar) { Value = DBNull.Value },

 

posted @ 2021-08-13 10:59  RookieCoderAdu  阅读(684)  评论(0)    收藏  举报