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

相关问题