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`
}
나는 오류가 "NULL '값을'cinsiyet '열,'Spordeneme.dbo.Kullanici '테이블에 삽입 할 수 없으며 열에는 널을 사용할 수 없습니다. INSERT가 실패하고 문이 종료되었습니다." null 값을 입력 할 수 없습니다. 나는 지금 무엇을해야합니까? – Prooff
두 가지 해결책이 있습니다. 첫 번째 해결 방법은 NULL을 허용하도록 "cinsiyet"열을 편집해야한다는 것입니다. 두 번째 해결 방법은 komut.Parameters.AddWithValue ("@ cinsiyet", cnsyt.SelectedItem.Value == Null? String.Empty : cnsyt.SelectedItem.Value) – ndinhdat
을 확인해야합니다. 그런 다음 다른 솔루션에서 동일한 오류가 발생했습니다. 데이터. 나는 결코 null 값을 입력하지 않았습니다. 나는 두 번째 해결책을 이해하지 못한다. – Prooff