none
Gerekli bir veya daha fazla parametre için girilen değer yok. RRS feed

  • Soru

  • C# ve Access veri tabanı kullanarak giriş yapan kullanıcının kullanıcı adı veya şifresini değiştirmeyi deniyorum.Ama başlıkta belirttiğim hatayı alıyorum kodlarım;

     baglanti = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Performansodevi.accdb");
                da =new OleDbDataAdapter("select * from tablokullanici", baglanti);
                ds = new DataSet();
                cmd = new OleDbCommand();
                cmd.Connection = baglanti;
                baglanti.Open();
                da.Fill(ds, "tablokullanici");
                DialogResult cevap;
                cevap = MessageBox.Show("Değişiklikleri onaylıyor musunuz?", "Bilgi Güncelleme", MessageBoxButtons.YesNo);
                if (cevap == DialogResult.Yes)
                {
                    cmd.CommandText = "update tablokullanici set kullaniciadi='" + textBox1.Text + "',sifre='" + textBox2.Text + "' where kullaniciadi=" +textBox1.Text + "";
                    cmd.ExecuteNonQuery();
                }
                else
                {
                    MessageBox.Show("Değişiklik yapılmadı");
                }
                baglanti.Close();

    25 Mayıs 2019 Cumartesi 10:33

Tüm Yanıtlar

  • where den sonra '(tek tırnaklar) eksik

    ...where kullaniciadi='" +textBox1.Text + "'";


    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    25 Mayıs 2019 Cumartesi 12:40
    Moderatör
  • Bu koddaki en büyük hata SqlCommandText içinde parametre kullanılmamış olması. ASLA ve ASLA böyle "update ... " + .. + ... tarzında kod yazmayın, parametre kullanın , sorununu kalmayacaktır. 

     cmd.CommandText = @"update tablokullanici set
        sifre=@sifre
        where kullaniciadi=@ad";
    cmd.Parameters.Add("@sifre", OleDbType.VarChar).Value = textBox2.Text;
    cmd.Parameters.Add("@ad", OleDbType.VarChar).Value = textBox1.Text;
    
                    cmd.ExecuteNonQuery();



    How to create a Minimal, Reproducible Example
    The way to Go.
    World's most advanced open source (object-) relational Database.


    25 Mayıs 2019 Cumartesi 13:52
    Yanıtlayıcı