c# - 从 C# DbCommand 向 SQL DB 插入 NULL

标签 c# sql dbcommand

        DbParameter param = comm.CreateParameter();
        param = comm.CreateParameter();
        param.ParameterName = "@StaffId";
        if (!string.IsNullOrEmpty(activity.StaffId))
            param.Value = activity.StaffId;
        param.DbType = DbType.String;
        comm.Parameters.Add(param);

上面的方法不起作用(很明显),对象没有被实例化。当未填充 StaffId 时,我试图将 NULL 插入数据库。我怎样才能做到这一点?

最佳答案

当需要将 NULL 作为参数传递给存储过程时,可以使用 DBNull.Value。

param.Value = DBNull.Value;

或者您可以使用它来代替您的 if 运算符:

param.Value = !string.IsNullOrEmpty(activity.StaffId) ? activity.StaffId : (object)DBNull.Value;

关于c# - 从 C# DbCommand 向 SQL DB 插入 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9801649/

相关文章:

c# - Aspx页面中的foreach循环如何添加复选框和标签

sql - SQLite名称和使用临时表达式

sql - 无法将参数绑定(bind)到 CDbCommand

c# - 无法在 Entity Framework 中的 DbCommand 中传递参数

c# - 根据另一个数据表的排序顺序对数据表进行排序

javascript - 使用 selenium-webdriver 扩展 jstree 的所有节点

c# - EntityType 'Worker' 没有定义键。定义此 EntityType 的键

mysql - mysql 统计具有特定评级的餐厅

sql - 在同一查询中多次连接表?

.net - 为什么 "Non"中的 "ExecuteNonQuery"?