사용자가 몇 가지 정보로 설정할 줄을 선택하는 양식이 있습니다. 사용자가 필요한 모든 줄을 선택하고 각 선택 항목에 대해 매개 변수의 값으로 별도의 삽입 문을 수행 할 수있게하고 싶습니다. 예를 들어 사용자 선택 줄 2,3 및 25. 삽입 문을 3 번 실행하고 매번 @line 매개 변수를 선택한 다음 줄로 변경해야합니다. 내가 어떻게 그럴 수 있니? 이것은 제가 얻은 것입니다.각 체크 박스 목록 선택에 대해 별도의 발사를 실행하십시오.
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())";
//string strLines = "";
// cmd.Parameters.Add("@line", SqlDbType.Int).Value = Convert.ToInt32(strLines);
cmd.Connection = this.sqlConnection1;
this.sqlConnection1.Open();
for (int i = 0; i < lines_list.Items.Count; i++)
{
if (lines_list.Items[i].Selected)
{
cmd.Parameters.Add("@line", SqlDbType.Int).Value = Convert.ToInt32(lines_list.Items[i].Text);
cmd.ExecuteNonQuery();
}
}
this.sqlConnection1.Close();
}
위의 논리를 가진 또 하나의 점은 두 개의 삽입을 얻고 하나의 선택으로 만 작동한다는 것입니다. 누군가가 올바른 방향으로 나를 가리킬 수 있을까요?
당신은 루프 사용할 수 있습니다
오류가 발생했습니다. 오류 'System.Web.UI.WebControls.ListItemCollection'에 'Cast'및 최상의 확장 메서드 오버로드에 대한 정의가 없습니다. – briskovich
.NET 2를 사용하는 경우에는 Linq 간단한 루프를 사용하여 쿼리하십시오 (원래 코드 에서처럼). 하지만 아마도'using System.Linq; '를 추가해야 할 것입니다. –
캐스트를 사용하지 않고 값을 가져 오는 방법이 있습니까? – briskovich