Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将varchar值“System.Web.UI.WebControls.CheckBox”转换为数据类型位时,转换失败_C#_Asp.net_.net_Exception Handling_Checkbox - Fatal编程技术网

C# 将varchar值“System.Web.UI.WebControls.CheckBox”转换为数据类型位时,转换失败

C# 将varchar值“System.Web.UI.WebControls.CheckBox”转换为数据类型位时,转换失败,c#,asp.net,.net,exception-handling,checkbox,C#,Asp.net,.net,Exception Handling,Checkbox,当我选中数据类型为bit的复选框时,其值(即1或0)未存储在数据库中,它给出了错误 将varchar值“System.Web.UI.WebControls.CheckBox”转换为数据类型位时,转换失败 很可能你传递的是控制权,而不是它的状态值;您应该传递状态,并在必要时显式转换: CheckBox // a web control, and no standard db type to represent it CheckBox.Checked // a boolean val

当我选中数据类型为bit的复选框时,其值(即1或0)未存储在数据库中,它给出了错误

将varchar值“System.Web.UI.WebControls.CheckBox”转换为数据类型位时,转换失败


很可能你传递的是控制权,而不是它的状态值;您应该传递状态,并在必要时显式转换:

CheckBox         // a web control, and no standard db type to represent it
CheckBox.Checked // a boolean value, generally translatable to db bit

很可能你传递的是控制权,而不是它的状态值;您应该传递状态,并在必要时显式转换:

CheckBox         // a web control, and no standard db type to represent it
CheckBox.Checked // a boolean value, generally translatable to db bit

您很可能正在将实际控制传递给数据库,而不是数据库的状态。您需要使用myCheckBox.Checked,而不仅仅是myCheckBox。

您很可能是在将实际控件传递给数据库,而不是它的状态。您需要使用myCheckBox.Checked,而不仅仅是myCheckBox。

将位值插入数据库

  cmd.Parameters.Add("@check", SqlDbType.Bit).Value = Convert.ToInt16(CheckBoxDT.Checked);
正在检索所选复选框,请尝试以下操作

<asp:CheckBox ID="CheckBoxDT" runat="server" Checked='<%#((bool)Eval("isActive"))%>'
                        Style="color: #FFFFFF" />
替换为

cmd.CommandText = "insert into ClientMaster(doTips) values (@doTips)"; 
cmd.Parameters.Add("@doTips", SqlDbType.Bit).Value = Convert.ToInt16(CheckBoxDT.Checked)
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" />
替换为

cmd.CommandText = "insert into ClientMaster(doTips) values (@doTips)"; 
cmd.Parameters.Add("@doTips", SqlDbType.Bit).Value = Convert.ToInt16(CheckBoxDT.Checked)
cmd.ExecuteNonQuery(); 

请给我们看一些代码!您的表结构屏幕快照我添加了这段代码以将复选框转换为位,但如果出现相同的错误,则无法正常工作。。。。。。。。。。。。。。你的数据库列名是什么?什么是活动的?那是列名吗?如果是,那么您是否正在尝试将datatable行值传递给复选框的Checked属性?请向我们显示一些代码!您的表结构屏幕快照我添加了这段代码以将复选框转换为位,但如果出现相同的错误,则无法正常工作。。。。。。。。。。。。。。你的数据库列名是什么?什么是活动的?那是列名吗?如果是,那么您是否正在尝试将datatable行值传递给复选框的Checked属性?当我在.cs文件中编写此代码时,它也不会工作`If CheckBoxDT.Checked{cmd.CommandText=插入ClientMasterdoTips值1;cmd.Parameters.AddWithValuedoTips,bool.Parse1;cmd.ExecuteNonQuery;}else{cmd.CommandText=插入ClientMasterdoTips值0;cmd.Parameters.AddWithValuedoTips,bool.Parse0;cmd.ExecuteNonQuery;}`当您的数据类型为bitwell时,您为什么要解析为bool值它没有给出错误,但在数据库复选框字段中,使用此值而不是1或0,System.Web.UI.WebControls.checkbox您可以发布您用我的代码编写的代码吗?当我在.cs文件中编写此代码时,它也不会工作`如果CheckBoxDT.Checked{cmd.CommandText=插入ClientMasterdoTips值1;cmd.Parameters.AddWithValuedoTips,bool.Parse1;cmd.ExecuteNonQuery;}else{cmd.CommandText=插入ClientMasterdoTips值0;cmd.Parameters.AddWithValuedoTips,bool.Parse0;cmd.ExecuteNonQuery;}`当您的数据类型为bitwell时,您为什么要解析为bool值它没有给出错误,但在数据库复选框字段中,使用此值而不是1或0,System.Web.UI.WebControls.checkbox您可以发布您用我的代码编写的代码吗?在我发布工作图像时,这些代码没有发生