我有一个循环遍历复选框列表中的选项。问题是循环为每个选择触发插入语句两次。因此,如果用户选中一个框,则会插入2行。如果用户选择3个框,则会插入6行,依此类推。我怎样才能确保它每次选择只触发一次插入?
protected void btn_test_Click(object sender, EventArgs e) {
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "Insert into t_ap_line_setup (line,date) values (@line,getdate())";
cmd.Connection = this.sqlConnection1;
this.sqlConnection1.Open();
foreach ( ListItem li in lines_list.Items ) {
if (li.Selected == true) {
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@line", li.Text);
cmd.ExecuteNonQuery();
}
}
this.sqlConnection1.Close();
}
答案 0 :(得分:1)
看起来循环没有运行两次。我怀疑你的点击处理程序由于重复的事件订阅而被触发两次。