Şimdi Ara

ExecuteNonQuery(); HATASI ALIYORUM LÜTFEN ACİL YARDIM LAZIM

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
6
Cevap
0
Favori
257
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • if (textBox1.Text != "" && textBox2.Text != "" && dateTimePicker1.Text != "" && textBox6.Text != "" && comboBox1.Text != "" && textBox3.Text != "" && textBox4.Text != "" && textBox5.Text != "" && comboBox2.Text != "")
    {
    komut.Connection = baglanti;
    baglanti.Open();
    komut.CommandText = "insert into ogrencilistele(id,AdSoyad,DogumTarihi,DogumYeri,Cinsiyet,Adres,Telefon,EPosta,Bolum)Values('" + textBox1.Text + "','" + textBox2.Text + "','" + dateTimePicker1.Text + "','" + textBox6.Text + "','" + comboBox1.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "','" + comboBox2.Text + "')";
    komut.ExecuteNonQuery();
    komut.Dispose();
    komut.ExecuteNonQuery();
    baglanti.Close();
    MessageBox.Show("Kayıt başarı ile eklendi.");
    }
    else
    {
    MessageBox.Show("Boş Alanları Doldurunuz.");
    }
    }

    }
    }ExecuteNonQuery(); HATASI ALIYORUM LÜTFEN ACİL YARDIM LAZIM







  • tahminim id girişi yapıyorsun id girişini veri tabanına id otomatik olarak artıyor zaten birincil anahtarı int ve otomatik artan seçmen gerek.

    id den dolayı bu hatayı alyıorsun galiba.
  • ayrıca textbox kontrolün teoride doğru pratikte yanlış String.IsNullOrWhiteSpace kullan
  • sql server veri tiplerini oluşturuken sağ tarafında ''Length'' yazılı alanda seçtiğin veri tipine bir değer ataman gerekebilir.

    veya Insert Into kısmında bir yazım hatası yapmıs olabilirsin hepsi sql tablodaki ile aynı sırada ve küçük büyük harf uyumunda olmak zorunda.

    veya database i doğru ekledıgıne ve calıstıgına emın mısın ?
  • id değeri benzersiz olmalı. O yüzden otomatik artan olarak ayarlanmalı. Sonra da insert'den silinmeli.

    insert'te artı ile textbox'daki değerleri birleştirerek sorgu oluşturmak çok yanlış ve tehlikeli. Onun yerine parametre kullanmalı.

    Kontroller boş mu diye bakmak için istemci taraflı validation kullanmak daha mantıklı.

    Komut çalıştırıldıktan sonra dispose edilip tekrar çalıştırılıyor. Neden?

    Son olarak kontrollü çalıştırıp hatayı yakalamak için try-catch yapısı kullanılmalı.

    Kodu baştan aşağı elden geçirmek lazım.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.