4
체크 상자 목록의 선택 항목을 반복하는 루프가 있습니다. 문제는 루프가 insert 문을 각 선택 항목에 대해 두 번 발생시키는 것입니다. 따라서 사용자가 하나의 상자를 선택하면 2 개의 행이 삽입됩니다. 사용자가 3 개의 상자를 선택하면 6 개의 행을 삽입하는 식입니다. 선택에 따라 삽입물이 한 번만 발사되도록하려면 어떻게해야합니까?루프가 insert 문을 두 번 실행합니다.
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();
}
코드를 실행하면'lines_list.Items'의 개수는 얼마입니까? – MyCodeSucks
루프가 두 번 실행되는 것처럼 보이지 않습니다. 나는 당신이 처리기를 두 번 발사하는 것 같아요. 어쩌면 중복 된 이벤트 구독 등이있을 수 있습니다. – vcsjones
그냥 'if (li.Selected)'가 아니라면 (li.Selected == true) ' – sajanyamaha