C# 如何将复选框值作为一个位直接传递给数据库
我的web应用程序中有一个复选框控件。我连接了sql server。我将复选框数据类型声明为位。当我选中复选框控件时,它需要传递位值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; 它执行得很好,但我觉得它不是一个有效的方法。用简短的行给出任何其他最简单的代码。
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?