使用asp.net将复选框值保存到数据库
本文关键字:保存 数据库 复选框 asp net 使用 | 更新日期: 2023-09-27 18:03:41
SqlConnection con = new SqlConnection(constr);
SqlCommand cmd = new SqlCommand("insert into reg (name,num,gender,qual) values
(@name,@num,@gender,@qual)", con);
cmd.Parameters.AddWithValue("@name", TextBox1.Text);
cmd.Parameters.AddWithValue("@num", TextBox2.Text);
cmd.Parameters.AddWithValue("@gender",
RadioButtonList1.SelectedItem.ToString());
for (int i = 0; i < CheckBoxList1.Items.Count - 1;i++ )
{
if(CheckBoxList1.Items[1].Selected)
{
string var = string.Empty;
var += CheckBoxList1.Items[1].Text.ToString();
cmd.Parameters.AddWithValue("@qual",var);
}
}
try
{
con.Open();
cmd.ExecuteNonQuery();
Response.Write("<script language='javascript'>alert(
'record has been added');</script>");
}
catch (Exception er)
{
Response.Write("<script language='javascript'>alert(
'conncetion error');</script>");
}
finally
{
con.Close();
}
我是asp.net
的初学者。我不知道如何将复选框值保存到数据库。在上面的代码中,它只保存最后一个值。
你是通过循环迭代,但只比较值1所有的时间我已经改变1到I。我认为你只需要收集一次值。为了实现这一点,我移动了cmd.Parameters.AddWithValue("@qual",s);语句退出for循环
注意:我用'分隔值,'我不知道这是你的业务需要与否
string s;
for (int i = 0; i < CheckBoxList1.Items.Count - 1;i++ )
{
if(CheckBoxList1.Items[i].Selected)//changed 1 to i
s += CheckBoxList1.Items[i].Text.ToString() + ","; //changed 1 to i
}
cmd.Parameters.AddWithValue("@qual",s);
这是因为您只在for循环之外执行了一次命令。
如果你将Execute查询移到for循环中,它应该可以工作。
请注意,这将修复您的代码,但它既不安全,也不是最优的。