我在MySql数据库中有一个存储用户帐户的表。其中一列到期,存储过期日期,但默认为NULL。我需要能够删除过期日期并将其设置回默认值。
目前,我的所有CRUD例程都是使用带参数的MySqlCommand编写的。这可以直接用MySqlParameter完成,还是我必须创建一个备用命令对象来处理这种可能性?
答案 0 :(得分:3)
问题是DBNull,正在做:
command.Parameters.AddWithValue("@parameter", null);
编译好。
答案 1 :(得分:0)
目前尚不清楚你在说什么条件。如果要将列设置为默认值,可以使用DbNull.Value;
command.AddWithValue("@param", DbNull.Value);
or
command.Parameters.Add("@param", <data type>).Value = DBNull.Value;
答案 2 :(得分:0)
我通常在代码中将默认/空白的值设置为null,然后在执行查询之前运行以下循环:
foreach(MySqlParameter param in cmd.Parameters)
if (param.Value == null) param.Value = DBNull.Value;