【问题标题】:How to insert the more than one data in the listbox to database如何将列表框中的多个数据插入数据库
【发布时间】:2017-10-09 16:31:36
【问题描述】:

我有一个注册页面。我想将此页面上的数据插入到数据库中。此页面中有一个列表框。我想让用户在列表框中选择一个或多个数据并将其正确插入数据库。例如,用户在您最喜欢的运动(列表框)中选择了篮球、足球和排球。那么我的数据库中应该有你最喜欢的运动栏目中的篮球、足球、排球。我希望我能告诉。因为我的英语不是很好。对不起。

这是页面:[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`
        }

【问题讨论】:

    标签: asp.net sql-server database insert listbox


    【解决方案1】:

    您应该添加 try{..}catch(Exception ex){...} 并在“ex”变量中查看错误消息。主要问题在于循环内的代码。

    【讨论】:

    • 我做了,错误是“无法将值 NULL 插入到列 'cinsiyet',表 'Sporgeneme.dbo.Kullanici';列不允许空值。插入失败。语句已终止。”我无法输入空值。我现在该怎么办?
    • 有 2 个解决方案:第一个解决方案是您应该编辑“cinsiyet”列以允许 NULL。第二种解决方案是您必须检查 komut.Parameters.AddWithValue("@cinsiyet", cnsyt.SelectedItem.Value == Null ? String.Empty : cnsyt.SelectedItem.Value)
    • 我做了第一个解决方案,然后在其他数据中发生了同样的错误。我从未输入过空值。我不明白第二种解决方案抱歉。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-30
    • 1970-01-01
    • 2022-07-28
    • 2017-11-14
    相关资源
    最近更新 更多