C# 如何将复选框值作为一个位直接传递给数据库

C# 如何将复选框值作为一个位直接传递给数据库,c#,sql,C#,Sql,我的web应用程序中有一个复选框控件。我连接了sql server。我将复选框数据类型声明为位。当我选中复选框控件时,它需要传递位值 int active; if (chkboxActive.Checked) { active = 1; } else { active = 0; } cmd.Parameters.Add("@active", SqlDbType.Bit).Value = active; 它执行得很好,但我觉得它不是一个有效的方法。用简短的行给出任何其他最简单的代码。

我的web应用程序中有一个复选框控件。我连接了sql server。我将复选框数据类型声明为位。当我选中复选框控件时,它需要传递位值

int active;

if (chkboxActive.Checked)

{ active = 1; } 

else

{ active = 0; }

cmd.Parameters.Add("@active", SqlDbType.Bit).Value = active;

它执行得很好,但我觉得它不是一个有效的方法。用简短的行给出任何其他最简单的代码。

如果使用对象关系映射,则将使用属性传递值:

cmd.Parameters.Add("@active", SqlDbType.Bit).Value = chkboxActive.Checked; 
public bool Active {get; set;}
当您希望将数据保存到SQL数据库表中,以获取将从
复选框传递的位数据类型时,必须设置SQL命令的参数以接受bool作为位数据,并将其转换为
1(如果为真)
0(如果为假)
,如下所示:

SqlCommand cmd = new SqlCommand(SqlString, SqlConnection);
cmd.Parameters.Add("@Active", SqlDbType.Bit, Active ? 1:0).Value = Active;
因此,当布尔值从
复选框传递到'Sql Variable'时,它将根据checkbox.checked属性转换为1或0

xData.Active = CheckBox.Checked;

cmd.Parameters.Add(“@active”,SqlDbType.Bit).Value=chkboxActive.Checked没有chkboxActive.value的定义。它没有像value这样的属性。这类错误显示为“我的错误”,将其更改为“已检查”
.ya.。这工作正常。。。谢谢你,还有一个问题。可以发送相反的值。例如checked=0 unchecked=1您可以使用
!chkboxActive.Checked
。我也有同样的问题,但我想传递当前值,就像如果选中则传递1如果未选中如何传递0?