C# - OleDB Parametre Problemi

0

Merhaba arkadaslar uzun bir parametre ile sql komutu yolluyorum ama "no value given for one or more required parameters" hatasi veriyor. Bir kac farkli sekilde yazdigim halde hata devam ediyor yardimlarinizi bekliyorum.

                string sorgu = "UPDATE ogrenciler set alanGirisTarihi=@AGT,okulNo=@okulNo,sinif=@sinif,ad=@ad,soyad=@soyad,yas=@yas,eposta=@eposta,ilkOgretimOkulu=@ioo,memleketi=@memleketi,aileDurumu=@aileD,anneDurumu=@anneD,babaDurumu=@babaD,kardesDurumu=@kardesD,evAdresi=@evAdresi,evTelefonu=@evTel,cepTelefonu=@cepTel,mezunTarihi=@mezunTarihi,ogrResim=@ogrResim Where id=@id";
                cmd = new OleDbCommand(sorgu, baglanti);
                cmd.Parameters.AddWithValue("@AGT", dateTimePicker1.Text);
                cmd.Parameters.AddWithValue("@okulNo", textBox2.Text);
                cmd.Parameters.AddWithValue("@sinif", textBox3.Text);
                cmd.Parameters.AddWithValue("@ad", textBox4.Text);
                cmd.Parameters.AddWithValue("@soyad", textBox5.Text);
                cmd.Parameters.AddWithValue("@yas", dateTimePicker2.Text);
                cmd.Parameters.AddWithValue("@eposta", textBox7.Text);
                cmd.Parameters.AddWithValue("@ioo", textBox8.Text);
                cmd.Parameters.AddWithValue("@memleketi", textBox9.Text);
                cmd.Parameters.AddWithValue("@aileD", comboBox1.Text);
                cmd.Parameters.AddWithValue("@anneD", textBox11.Text);
                cmd.Parameters.AddWithValue("@babaD", textBox12.Text);
                cmd.Parameters.AddWithValue("@kardesD", textBox13.Text);
                cmd.Parameters.AddWithValue("@evAdresi", textBox14.Text);
                cmd.Parameters.AddWithValue("@evTel", maskedTextBox1.Text);
                cmd.Parameters.AddWithValue("@cepTel", maskedTextBox2.Text);
                cmd.Parameters.AddWithValue("@mezunTarihi", dateTimePicker3.Text);
                cmd.Parameters.AddWithValue("@ogrResim", fileName);
                cmd.Parameters.AddWithValue("@id", Convert.ToInt32(textBox17.Text));

 

edeger edeger (1)
7 yıl önce sordu

    Toplam 1 Cevap


    1

    Merhaba,

    "no value given for one or more required parameters" hatası bildiğim kadarı ile veritabanından yapmaya çalıştığın işlem sırasında ki id'ye göre boş değer geliyor olabilir. Verilerin hepsinin dolu olduğuna ve değiştirilebilir izni olduğuna eminmisin? Eğer eminsen aşağıda ki düzenlemiş olduğum kodlar ile tekrar deneyin. Bir de texbox17.text'e gireceğiniz değer veritabanınızda ki id ile eşleşmesine dikkat edin. Yani texbox'a girdiğiniz id veritabanında olmayabilir.

                    string sorgu = "UPDATE ogrenciler set alanGirisTarihi=@AGT,okulNo=@okulNo,sinif=@sinif,ad=@ad,soyad=@soyad,yas=@yas,eposta=@eposta,ilkOgretimOkulu=@ilkOgretimOkulu,memleketi=@memleketi,aileDurumu=@aileDurumu,anneDurumu=@anneDurumu,babaDurumu=@babaDurumu,kardesDurumu=@kardesDurumu,evAdresi=@evAdresi,evTelefonu=@evTelefonu,cepTelefonu=@cepTelefonu,mezunTarihi=@mezunTarihi,ogrResim=@ogrResim Where id=@ID";
                    cmd = new OleDbCommand(sorgu, baglanti);
                    cmd.Parameters.AddWithValue("@AGT", dateTimePicker1.Text);
                    cmd.Parameters.AddWithValue("@okulNo", textBox2.Text);
                    cmd.Parameters.AddWithValue("@sinif", textBox3.Text);
                    cmd.Parameters.AddWithValue("@ad", textBox4.Text);
                    cmd.Parameters.AddWithValue("@soyad", textBox5.Text);
                    cmd.Parameters.AddWithValue("@yas", dateTimePicker2.Text);
                    cmd.Parameters.AddWithValue("@eposta", textBox7.Text);
                    cmd.Parameters.AddWithValue("@ilkOgretimOkulu", textBox8.Text);
                    cmd.Parameters.AddWithValue("@memleketi", textBox9.Text);
                    cmd.Parameters.AddWithValue("@aileDurumu", comboBox1.Text);
                    cmd.Parameters.AddWithValue("@anneDurumu", textBox11.Text);
                    cmd.Parameters.AddWithValue("@babaDurumu", textBox12.Text);
                    cmd.Parameters.AddWithValue("@kardesDurumu", textBox13.Text);
                    cmd.Parameters.AddWithValue("@evAdresi", textBox14.Text);
                    cmd.Parameters.AddWithValue("@evTelefonu", maskedTextBox1.Text);
                    cmd.Parameters.AddWithValue("@cepTelefonu", maskedTextBox2.Text);
                    cmd.Parameters.AddWithValue("@mezunTarihi", dateTimePicker3.Text);
                    cmd.Parameters.AddWithValue("@ogrResim", fileName);
                    cmd.Parameters.AddWithValue("@ID", Convert.ToInt32(textBox17.Text));

     

    notify notify (538)
    7 yıl önce cevaplandı

      üyelik gerektirir

      Cevap yazabilmek için üye girişi yapmalısınız.

      Eğer uzmanim.net üyesiyseniz giriş yapabilirsiniz: üye girişi yap
      uzmanim.net'e üye olmak çok kolaydır: hemen kayıt ol