if (CheckBoxMorning.Checked == true)
{
SqlParameter paramMorning = new SqlParameter("@Morning", DropDownMorning.SelectedValue);
cmd.Parameters.Add(paramMorning);
}
else
{
SqlParameter paramMorning = new SqlParameter("@Morning", CheckBoxMorning.Checked);
cmd.Parameters.Add(paramMorning);
}
提前谢谢
答案 0 :(得分:2)
您当前的代码是在数据库中插入0
,因为CheckBoxMorning.Checked
是一个布尔值,其值为0& 1.您必须在 SqlParameter 方法中传递DBNull.Value
,如下所示: -
SqlParameter paramMorning = new SqlParameter("@Morning", DBNull.Value);
答案 1 :(得分:1)
添加到@Rahul' swer,您的代码可以通过以下方式缩短并易于理解:
SqlParameter paramMorning = new SqlParameter("@Morning", CheckBoxMorning.Checked ? DropDownMorning.SelectedValue : DBNull.Value);
cmd.Parameters.Add(paramMorning);
答案 2 :(得分:0)
CheckBoxMorning.Checked总是具有非NULL值。
如果要将not-checked-ness重新解释为NULL,则需要另一个类似IF的结构,并在Checked为false的情况下分配DBNull.value。