我从这样的复选框中检索对或错:
var global = CheckBox1.Checked;
然后我将其作为存储过程的参数发送,例如:
command.Parameters.Add("@global", SqlDbType.Bit).Value = global;
global
变量根据选择的结果返回true或false,但是当我使用SqlDbType.Bit
时,它将true和false转换为1和0吗?所以我应该以{{1}}或boolean
之类的存储过程来接收它吗?
存储过程:
varchar
答案 0 :(得分:1)
在这里我要做一个假设,说存储过程要求您将变量保存为@comando
变量中的数据类型位。
在这种情况下,您可以将存储过程保留一点@global
,然后在代码隐藏中执行以下操作:
boolean global = CheckBox1.Checked;
command.Parameters.AddWithValue("@global", global);
或者,如果您想维护可以说更好的Add()方法而不是AddWithValue()方法,则您提供的代码应该可以使用。我已经习惯了VB.net,因此语法可能会略有不同,但是任何一种都可以。当您将布尔值保存到参数@global
并执行时,如果不使用Add()方法手动对其进行声明,它将被转换为等效位值。