我有一个循环遍历复选框列表中的选择.问题是循环为每个选择触发插入语句两次.因此,如果用户选中一个框,则会插入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(); }
解决方法
看起来循环没有运行两次.我怀疑你的点击处理程序由于重复的事件订阅而触发两次.