如何从asp.net中的cmd.Parameters.AddWithValue传递null值到数据库

时间:2017-05-22 06:58:16

标签: c# sql asp.net

我希望在textbox为空时为数据库保存NULL。 这是我的代码,

cmd.Parameters.AddWithValue("@RedirectUris", ((RedirectUris.Text == "") ? DBNull.Value.ToString() : RedirectUris.Text));

其中RedirectUris是文本框ID。
在此方案中,数据库将空值保存为NULL。 请帮我这样做。

3 个答案:

答案 0 :(得分:2)

cmd.Parameters.Add(new SqlParameter("@RedirectUris", string.IsNullOrEmpty(RedirectUris.Text) ? (object)DBNull.Value : RedirectUris.Text));

答案 1 :(得分:1)

你可以这样做:

cmd.Parameters.AddWithValue("@RedirectUris", 
        string.IsNullOrEmpty(RedirectUris.Text) 
        ? (object)DBNull.Value : 
        RedirectUris.Text);

可能有意义检查文本框的值是null还是空

答案 2 :(得分:0)

您可以使用简短格式:

// update
cmd.Parameters.AddWithValue("@ResponseTimeDays", responseTimeDays ?? Convert.DBNull);

// insert
new SqlParameter("@ResponseTimeDays", cinfo.ResponseTimeDays ?? Convert.DBNull)