当我检查数据类型为位的复选框时,它的值,即 1 或 0 没有存储在数据库中,它给出了错误
Conversion failed when converting the varchar value 'System.Web.UI.WebControls.CheckBox' to data type bit
if (CheckBoxDT.Checked)
{
cmd.CommandText = " Insert into ClientMaster(doTips) values ( 1 )";
cmd.Parameters.AddWithValue("doTips", bool.Parse("1"));
cmd.ExecuteNonQuery();
}
else
{
cmd.CommandText = "insert into ClientMaster(doTips) values (0)";
cmd.Parameters.AddWithValue("doTips", bool.Parse("0"));
cmd.ExecuteNonQuery();
}
请您参考如下方法:
向数据库中插入比特值
cmd.Parameters.Add("@check", SqlDbType.Bit).Value = Convert.ToInt16(CheckBoxDT.Checked);
检索选中的复选框试试这个
<asp:CheckBox ID="CheckBoxDT" runat="server" Checked='<%#((bool)Eval("isActive"))%>'
Style="color: #FFFFFF" />
你的代码
if (CheckBoxDT.Checked)
{
cmd.CommandText = " Insert into ClientMaster(doTips) values ( 1 )";
cmd.Parameters.AddWithValue("doTips", bool.Parse("1"));
cmd.ExecuteNonQuery();
}
else
{
cmd.CommandText = "insert into ClientMaster(doTips) values (0)";
cmd.Parameters.AddWithValue("doTips", bool.Parse("0"));
cmd.ExecuteNonQuery();
}
替换为
cmd.CommandText = "insert into ClientMaster(doTips) values (@doTips)";
cmd.Parameters.Add("@doTips", SqlDbType.Bit).Value = Convert.ToInt16(CheckBoxDT.Checked)
cmd.ExecuteNonQuery();
