2017-10-09 10 views
0

나는 등록 페이지가 있습니다. 이 페이지의 데이터를 데이터베이스에 삽입하고 싶습니다. 이 페이지에는 목록 상자가 있습니다. 사용자가 목록 상자에서 하나 이상의 데이터를 선택하고 데이터베이스에 올바르게 삽입 할 수있게하려고합니다. 예를 들어 사용자가 가장 좋아하는 스포츠 (목록 상자)에서 농구, 축구, 배구를 선택했습니다. 내 데이터베이스에는 좋아하는 스포츠 칼럼에서 농구, 축구, 배구가 있어야합니다. 내가 말할 수 있기를 바랍니다. 내 영어가별로 좋지 않기 때문에. 죄송합니다. 데이터베이스에 목록 상자에 둘 이상의 데이터를 삽입하는 방법

페이지입니다 : [1] : https://i.stack.imgur.com/G95dO.png이 코드가 작동하지 않습니다

. 어떻게해야합니까?

내 코드 :

protected void btnKayitEt_Click(object sender, EventArgs e) 
     { 
      using (SqlConnection conn = new SqlConnection(@"Data Source=.;Initial Catalog=Spordeneme;User ID=sa;Password=123456")) 
      { 
       try 
       { 
        conn.Open(); 
        SqlCommand komut = new SqlCommand("Insert into Kullanici (Ad,Soyad,Cinsiyet,Email,Sifre,SifreTekrar,Il,Ilce) Values (@ad,@soyad,@cinsiyet,@email,@sifre,@sifretekrar,@il,@ilce)",conn); 
        komut.Parameters.AddWithValue("@ad",txtAdi.Text); 
        komut.Parameters.AddWithValue("@soyad",txtSoyAdi); 
        komut.Parameters.AddWithValue("@cinsiyet", cnsyt.SelectedItem.Value); 
        komut.Parameters.AddWithValue("@email", txtEmaili.Text); 
        komut.Parameters.AddWithValue("@sifre", txtSifresi.Text); 
        komut.Parameters.AddWithValue("@sifretekrar", txtSifreTekrari.Text); 
        komut.Parameters.AddWithValue("@il", ddlil.SelectedItem.Value); 
        komut.Parameters.AddWithValue("@ilce", ddlilce.SelectedItem.Value); 
        for (int i = 0; i < lbspor.Items.Count; i++) 
        { 
         komut.CommandText = "insert into Kullanici (FavoriSporlar) values (@favorispor)"; 
         komut.Parameters.AddWithValue("@favorispor", lbspor.Items[i].ToString().Trim()); 
         komut.ExecuteNonQuery(); 
        } 
        komut.ExecuteNonQuery(); 
       } 
       catch 
       { 
        lbl1.Text = "Hata Oluştu, kaydedilmedi"; 
       } 
       finally 
       { 
        conn.Close(); 
       } 
      }`enter code here` 
     } 

답변

0

당신은 {...} 시도 {...} 캐치 (예외 예)를 추가하고 "예"변수에 오류 메시지가 표시됩니다. 주요 문제는 루프 내부의 코드와 함께 찾습니다.

+0

나는 오류가 "NULL '값을'cinsiyet '열,'Spordeneme.dbo.Kullanici '테이블에 삽입 할 수 없으며 열에는 널을 사용할 수 없습니다. INSERT가 실패하고 문이 종료되었습니다." null 값을 입력 할 수 없습니다. 나는 지금 무엇을해야합니까? – Prooff

+0

두 가지 해결책이 있습니다. 첫 번째 해결 방법은 NULL을 허용하도록 "cinsiyet"열을 편집해야한다는 것입니다. 두 번째 해결 방법은 komut.Parameters.AddWithValue ("@ cinsiyet", cnsyt.SelectedItem.Value == Null? String.Empty : cnsyt.SelectedItem.Value) – ndinhdat

+0

을 확인해야합니다. 그런 다음 다른 솔루션에서 동일한 오류가 발생했습니다. 데이터. 나는 결코 null 값을 입력하지 않았습니다. 나는 두 번째 해결책을 이해하지 못한다. – Prooff