在单独的表行中插入值

时间:2013-02-01 12:47:58

标签: c# asp.net checkboxlist sqlcommand

我正在尝试在数据库中插入checkboxlist多个值,

这是我的插入代码:

  string str = string.Empty;
    try
    {
        var sb = new StringBuilder();

        var collection = ListLawCat.CheckedItems;
        foreach (var item in collection)
        {
            str += item.Value + ",";
        }

        SqlConnection con = new SqlConnection();
        con.ConnectionString = connString;

        SqlCommand com = new SqlCommand();
        com.Connection = con;
        com.CommandText = "Insert into TABLE (COL1, COL2) values ('" + str + "','" + DocID + "') ";
        com.CommandType = CommandType.Text;

        con.Open();

        int j = com.ExecuteNonQuery();

        if (j > 0)
        {
            Response.Write("insert successfully");
            Response.Write(str);
        }
        else
        {
            Response.Write("Not Inserted");
        }
        con.Close();
    }
    catch (Exception ex)
    {
        Response.Write(ex.Message);
    }

但是此代码会将所有checkboxlist值存储在一行中。

这是一种在单独的表行中存储值的方法吗?

1 个答案:

答案 0 :(得分:2)

试试这个

 string str = string.Empty;
 try
 {
    var sb = new StringBuilder();
    SqlConnection con = new SqlConnection();
    con.ConnectionString = connString;

    SqlCommand com = new SqlCommand();
    com.Connection = con;
    var collection = ListLawCat.CheckedItems;
    foreach (var item in collection)
    {

    com.CommandText = "Insert into TABLE (COL1, COL2) values ('" +  item.Value+ "','" + DocID + "') ";
    com.CommandType = CommandType.Text;

    con.Open();

    int j = com.ExecuteNonQuery();
    if (j > 0)
    {
        Response.Write("insert successfully");
        Response.Write( item.Value);
    }
    else
    {
        Response.Write("Not Inserted");
    }
    con.Close();
    }
}
catch (Exception ex)
{
    Response.Write(ex.Message);
}