2

我在存储用户帐户的 MySql 数据库中有一个表。其中一列 expires 存储到期日期,但默认为 NULL。我需要能够删除到期日期并将其设置回默认值。

目前,我所有的 CRUD 例程都是使用带有参数的 MySqlCommand 编写的。这可以直接使用 MySqlParameter 完成,还是我必须创建一个备用命令对象来处理这种可能性?

4

3 回答 3

3

问题是 DBNull,这样做:

command.Parameters.AddWithValue("@parameter", null);

编译确定。

于 2008-09-12T04:02:21.970 回答
0

不清楚你在说什么条件。如果要将列设置为默认值,可以使用DbNull.Value

command.AddWithValue("@param", DbNull.Value);

or

command.Parameters.Add("@param", <data type>).Value = DBNull.Value;
于 2008-09-09T05:31:47.957 回答
0

我通常在代码中将默认/空白的值设置为 null,然后在执行查询之前,运行以下循环:

foreach(MySqlParameter param in cmd.Parameters)
    if (param.Value == null) param.Value = DBNull.Value;
于 2010-11-22T19:20:24.633 回答