未选择RadioButtons时插入“null”

时间:2013-03-06 16:13:20

标签: c# asp.net

我的网站上有CheckBoxes,如果选中,则按以下方式存储到数据库中:

Cust.IsCust = Convert.ToInt16(cb_IsCust.Checked ? 0 : 1);

现在取代复选框,我将其更改为radiobuttons,其中"是/否"选项。如何在数据库中插入这些选项,其中1表示“是”,0表示“否”。如果没有检查,我需要插入null(管理要求)。

提前谢谢。

3 个答案:

答案 0 :(得分:2)

我认为这就是你要做的事。

如果您要立即插入数据库,请使用字符串:

string IsCust;
......
Cust.IsCust = (rb_IsCustYes.Checked || rb_IsCustNo.Checked)? rb_IsCustYes.Checked.ToString() : "NULL";

如果您稍后要插入数据库:

Cust.IsCust = (rb_IsCustYes.Checked || rb_IsCustNo.Checked)? Convert.ToInt16(rb_IsCustYes.Checked) : -1;

string IsCustValue = (IsCust == -1)? "NULL":IsCust.ToString();

答案 1 :(得分:1)

在数据库中,您应将此字段设置为位以允许NULL值。但请注意可能的警告。

http://www.mssqltips.com/sqlservertip/2548/using-bit-columns-with-nulls-when-three-options-exist-in-sql-server/

答案 2 :(得分:0)

简单

Cust.IsCust = Convert.ToInt16(radiobutton1.Checked ? 1 : 0);
对于已检查的第一个rdb,

1 2为已检查的第二个rdb

不要求第二个radiobutton条件。因为当您选择第一个单选按钮时,第二个单选按钮未被选中。所以,你可以节省0

编辑:

string sss="NULL";

if(radiobutton1.Checked==true)
{
sss="1";
}
else if(radiobutton2.Checked==true)
{
sss="0";
}