将选定的CheckBoxList值插入db

时间:2013-05-14 21:06:38

标签: c#

protected void Button1_Click(object sender, EventArgs e)
{
        SqlConnection conn = new SqlConnection("mydatasource");

        string cbspecialities = string.Empty;

        foreach (ListItem li in CheckBoxList1.Items)
        {
            if (li.Selected)
            {
                cbspecialities += li.Value + ", ";
            }
        }

        conn.Open();

        string sql = "Insert into tblml (Names) VALUES('" + cbspecialities + "')";

        SqlCommand cmd = new SqlCommand(sql, conn);

        cmd.ExecuteNonQuery();

        conn.Close();

它没有插入表格..

问题出在哪里?

请帮忙

Thnks

3 个答案:

答案 0 :(得分:0)

您试图在一个记录中插入多个值,而不是“值(值)”,执行“值(val1),(val2),...(valn)”

答案 1 :(得分:0)

您的SQL应采用

格式
INSERT INTO tblml (NAMES) VALUES
(Value1), 
(Value2)

目前,您的SQL会产生类似

的内容
INSERT INTO tblml (NAMES) VALUES
(Value1,Value2,)

此外,您的代码容易受到SQL注入攻击。

答案 2 :(得分:0)

您应该将,更改为-

之类的其他内容

变化:

cbspecialities += li.Value + ", ";

要:

cbspecialities += li.Value + "- ";