C# "gerekli bir veya daha fazla parametre için girilen değer yok" hatası

Melih Kurucan

Hectopat
Katılım
4 Haziran 2021
Mesajlar
157
Makaleler
1
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
Evde ödevimi yaparken böyle bir hata aldım normalde bu kod diğer projelerde çalışıyordu. Bu yaptığım projede üstüne birkaç kod ekledim ve çalışmıyor arkadaşım da yapmayı denedi ama aynı hatayı aldı.

1646510131112.png


Kodlarda amacım veritabanındaki bir veriyi TB6'dan alınan kullanici_adi bilgisi ile silmek.
 
Son düzenleyen: Moderatör:
Belirtilen türde parametre girmeniz gerekiyor. Class'ınızın içeriğini de paylaşır mısınız
 
Komutun içerisinde gittiği parametreye ait değer bulunamıyor. Yani verdiğiniz komut textbox6 da bulunan değeri veritabanından silmek istiyor fakat veritabanında böyle bir değer yok.
 
Komutun içerisinde gittiği parametreye ait değer bulunamıyor. Yani verdiğiniz komut textbox6 da bulunan değeri veritabanından silmek istiyor fakat veritabanında böyle bir değer yok.

Ama girdiğim değer doğru.
executeNonQuery() methodu oledbexception thow edebilir. Ve sizden bu Execption'ı Runtime'dan önce handle (try-catch) etmenizi istiyor.

İlgili satırı veya if'in altında kalan kısmı try-catch'e almanız yeterli.

Try-catch nedir rica etsem açıklar mısınız?
 
Textbox6.textden sonra +""; şeklinde düzeltip dener misin?

Sonuç hala aynı.
Bkz. try-catch - C# Başvurusu

Msdn üzerinden çok güzel bir şekilde açıklanmış.

Bkz. try-catch - C# Başvurusu

Msdn üzerinden çok güzel bir şekilde açıklanmış.

1646512345540.png


C#:
DialogResult cvp;
 cvp = MessageBox.Show("silmek istediğinize emin misiniz ? sildiğiniz ögeler geri getirilemeyecektir !", "Uyarı", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
 try
 {
 if (cvp == DialogResult.Yes)
 {
 baglanti.Open();
 komut.Connection = baglanti;
 komut.CommandText = "delete from bilgiler where kullanici_adi=" + textBox6.Text + "";
 komut.ExecuteNonQuery();
 komut.Dispose();
 uye_bilgiDataSet.Clear();
 baglanti.Close();
 yinele();
 }
 else
 {
 textBox6.Clear();
 textBox6.Focus();
 }
 }
 catch
 {
 MessageBox.Show("değer yanlış");
 }

Kodları şöyle yaptım değer yanlış mesajı geldi
 
Son düzenleme:
Sonuç hala aynı.

Eki Görüntüle 1323683

C#:
DialogResult cvp;
 cvp = MessageBox.Show("silmek istediğinize emin misiniz ? sildiğiniz ögeler geri getirilemeyecektir !", "Uyarı", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
 try
 {
 if (cvp == DialogResult.Yes)
 {
 baglanti.Open();
 komut.Connection = baglanti;
 komut.CommandText = "delete from bilgiler where kullanici_adi=" + textBox6.Text + "";
 komut.ExecuteNonQuery();
 komut.Dispose();
 uye_bilgiDataSet.Clear();
 baglanti.Close();
 yinele();
 }
 else
 {
 textBox6.Clear();
 textBox6.Focus();
 }
 }
 catch
 {
 MessageBox.Show("değer yanlış");
 }

Kodları şöyle yaptım değer yanlış mesajı geldi

Kullanıcı adı yerine ID ile sildirmeyi dener misin? Value olarak karşılığını veritabanından bulup textbox içine yazdığında silme işlemi yapacak mı görelim.
 

Bu konuyu görüntüleyen kullanıcılar

Technopat Haberler

Yeni konular

Geri
Yukarı