小编Ben*_*gal的帖子

cmd.Parameters.AddWithValue可以为null

在我的数据层类中,我初始化一个参数,如下所示:

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)

无论哪种方式,都有问题.我该怎么处理?

在此先感谢您的帮助

c# t-sql asp.net

1
推荐指数
1
解决办法
3795
查看次数

标签 统计

asp.net ×1

c# ×1

t-sql ×1