在我的数据层类中,我初始化一个参数,如下所示:
private int? _DependencyID;
public int? DependencyID
{ get {return _DependencyID;} set {_DependencyID = value;} }
public ConstructorMethod()
{
_DependencyID = (int?)null;
}
Run Code Online (Sandbox Code Playgroud)
在类Insert()方法中,我正在尝试
cmd.AddWithValue("@DependencyID", _DependencyID);
Run Code Online (Sandbox Code Playgroud)
如果_DependencyID有一个值,那么一切都很好.如果_DependencyID为null,我会收到错误:
参数化查询'(@ param1(nvarchar(10),@ param2(nvarchar(255),期望参数'@DependecyID',未提供)
我找到了[文章] [1],所以我尝试调整代码如下:
cmd.AddWithValue("@DependencyID", _DependencyID == null? DBNull.Value : _DependencyID);
and
cmd.AddWithValue("@DependencyID", _DependencyID == null? (int?) DBNull.Value : _DependencyID);
Run Code Online (Sandbox Code Playgroud)
无论哪种方式,都有问题.我该怎么处理?
在此先感谢您的帮助
你需要添加一个object:
cmd.AddWithValue("@DependencyID", _DependencyID == null? DBNull.Value : (object)_DependencyID);
Run Code Online (Sandbox Code Playgroud)
你可以缩短它
cmd.AddWithValue("@DependencyID", (object)_DependencyID ?? DBNull.Value);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3795 次 |
| 最近记录: |