2017-10-09 120 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

你應該加試{..}趕上(例外){...},看到以 「ex」 變量的錯誤消息。主要問題位於循環內部的代碼中。

+0

我做了,錯誤是「無法將值NULL插入列'cinsiyet',表'Spordeneme.dbo.Kullanici';列不允許NULL,INSERT失敗,語句已終止。我無法輸入空值。我現在應該怎麼做? – Prooff

+0

有兩種解決方案:第一種解決方案是您應該編輯列「cinsiyet」以允許NULL。第二個解決方案是你必須檢查komut.Parameters.AddWithValue(「@ cinsiyet」,cnsyt.SelectedItem.Value == Null?String.Empty:cnsyt.SelectedItem.Value) – ndinhdat

+0

我做了第一個解決方案,然後發生了同樣的錯誤數據。我從來沒有輸入空值。我不明白第二個解決方案對不起。 – Prooff

相關問題