Eli*_*eth 10 c# sql ado.net sqlparameter
当我将SQL参数添加p到集合时,我得到一个InvalidCastException带有帖子标题的消息.
parentId 是数据库中的可空整数和可空整数.
为什么我会得到这个例外,我该如何解决?
我不使用存储过程,我已经读过类似的线程,但他们没有帮助我.
var p = new SqlParameter("ParentId", SqlDbType.Int).Value = parentId ?? (object) DBNull.Value;
cmd.Parameters.Add(p);
Run Code Online (Sandbox Code Playgroud)
小智 16
你没有添加你的new SqlParameter.p是结果new SqlParameter("ParentId", SqlDbType.Int).Value = parentId ?? (object) DBNull.Value.换句话说,p本身就是DBNull.Value.
将语句拆分为两个,如下所示:
var p = new SqlParameter("ParentId", SqlDbType.Int);
p.Value = parentId ?? (object) DBNull.Value;
cmd.Parameters.Add(p);
Run Code Online (Sandbox Code Playgroud)
或者,
var p = new SqlParameter("ParentId", SqlDbType.Int) { Value = parentId ?? (object) DBNull.Value };
cmd.Parameters.Add(p);
Run Code Online (Sandbox Code Playgroud)
要么确保p参数,而不是参数的值.
| 归档时间: |
|
| 查看次数: |
14250 次 |
| 最近记录: |