4

我有一个循环遍历复选框列表中的选择。问题是循环为每个选择触发两次插入语句。因此,如果用户选中一个框,它会插入 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();
}
4

1 回答 1

1

看起来循环没有运行两次。我怀疑您的点击处理程序由于重复的事​​件订阅而触发了两次。

于 2012-12-05T18:08:08.767 回答