首页 > 解决方案 > 将所有 CheckBoxList 数据插入数据库

问题描述

我有一个用户将填写的表单,当他们提交时,所有数据都被推送到数据库。

我的问题是我有一个 CheckBoxList,如果用户选择多个复选框,它只会将第一项输入到数据库中。如何使所有项目输入到同一行并用逗号分隔。

这是我当前的代码:

protected void Button1_Click(object sender, EventArgs e)
{
    //Start Code
    con.Open();
    SqlCommand cmd = con.CreateCommand();
    cmd.CommandType = System.Data.CommandType.Text;
    cmd.CommandText = conString + txtFirst.Text + "','" + txtLast.Text + 
        "','" + txtEmail.Text + "','" + lstBranch.Text + "','" + lstAccess.Text + "')";
    cmd.ExecuteNonQuery();    
    con.Close();
}

标签: asp.net

解决方案


您可以像这样循环项目

string result = string.Empty;

for (int i = 0; i < checkboxlist1.Items.Count; i++)
{
    if (checkboxlist1.Items[i].Selected)
    {
        result += checkboxlist1.Items[i].Text + ", ";
    }
}

// remove the final comma.
// add 'result' to your sql stmt.

推荐阅读