在数据库的不同行中插入多个选择复选框列表值

本文关键字:选择 复选框 列表 插入 数据库 | 更新日期: 2023-09-27 18:09:44

我需要从一个复选框列表中输入选定的值到数据库中一个表的多行。

我的代码是:
SqlConnection con1 = new SqlConnection(cs);
string com1 = "INSERT INTO TVC_booking (TVC_booking_lId ,TVC_booking_date, TVC_booking_start_time,TVC_booking_end_time , TVC_booking_subject ,TVC_booking_description,TVC_booking_bookingId,TVC_booking_chairperson, TVC_booking_client,TVC_booking_currentdt,TVC_booking_status)"
              + "VALUES (@lid, @dt, @stime, @etime, @sub, @dsc, @bid, @cp, @cl, @cdt, @stat)";
for (int i = 0; i < CheckBoxList1.Items.Count; i++)
{
    if (CheckBoxList1.Items[i].Selected == true)
    {
        using (SqlCommand cmd1 = new SqlCommand(com1, con1))
        {
            cmd1.Parameters.AddWithValue("lid", CheckBoxList1.Items[i].ToString());
            cmd1.Parameters.AddWithValue("dt",field_date);
            cmd1.Parameters.AddWithValue("stime", field_stime);
            cmd1.Parameters.AddWithValue("etime", endtime);
            cmd1.Parameters.AddWithValue("sub", TextBox_sub.Text);
            cmd1.Parameters.AddWithValue("dsc", TextBox_des.Text);
            cmd1.Parameters.AddWithValue("bid", str);
            cmd1.Parameters.AddWithValue("cp", TextBox_cp.Text);
            cmd1.Parameters.AddWithValue("cl", TextBox_client.Text);
            cmd1.Parameters.AddWithValue("cdt", DateTime.Now);
            cmd1.Parameters.AddWithValue("stat", 1);
            con1.Open();
            cmd1.ExecuteNonQuery();
            con1.Close();
        }
    }
}

但是这个代码不能工作

我没有得到任何错误,但是数据没有插入

在数据库的不同行中插入多个选择复选框列表值

每次我使用AddWithValue()时,我都必须在名称中包含@符号。我认为省略它会引起某种异常,但也许不是这样。或者异常正在被吞噬。

cmd1.Parameters.AddWithValue("@lid", CheckBoxList1.Items[i]);
cmd1.Parameters.AddWithValue("@dt", field_date);
cmd1.Parameters.AddWithValue("@stime", field_stime);
cmd1.Parameters.AddWithValue("@etime", endtime);
...
...