none
C# Access Update İşlemi Hatası RRS feed

  • Soru

  • Herkese merhaba,

    Küçük kendi çapımda bir program yaptım fakat ekle işlemi çalışırken "Güncelle" ve "Sil" işlemlerim çalışmıyor.

    private void btnUpt_Click(object sender, EventArgs e)
    		{
    			cmd = new OleDbCommand();
    			con.Open();
    			cmd.Connection = con;
    			cmd.CommandText = "update Origin set sifre='" + tbpass.Text + "',kAdi='" + tbuser.Text + "',SQ='" + tbsq.Text + "',oyunlar='" + tbgame.Text + "' where email=" + tbmail.Text + "";
    			cmd.ExecuteNonQuery();
    			con.Close();
    			griddoldur();
    		}
    
    		private void BtnSil_Click(object sender, EventArgs e)
    		{
    			cmd = new OleDbCommand();
    			con.Open();
    			cmd.Connection = con;
    			cmd.CommandText = "delete from Origin where email=" + tbmail.Text + "";
    			cmd.ExecuteNonQuery();
    			con.Close();
    			griddoldur();
    		}
    


    Update işleminde aldığım hata: 

    An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in System.Data.dll
    Additional information: Gerekli bir veya daha fazla parametre için girilen değer yok.

    Sil işleminde aldığım hata: 

    An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in System.Data.dll
    Additional information: Syntax error (missing operator) in query expression 'email=deneme@hotmail.com'.
    23 Mart 2018 Cuma 15:54

Yanıtlar

  •                 private void btnUpt_Click(object sender, EventArgs e)
    		{
    			cmd = new OleDbCommand();
    			con.Open();
    			cmd.Connection = con;
    			cmd.CommandText = "update Origin set sifre=@sifre, kAdi=@kAdi, SQ=@sq,oyunlar=@oyunlar where email=@email";
                            cmd.Parameters.AddWithValue("@sifre", tbpass.Text);
                            cmd.Parameters.AddWithValue("@kAdi", tbuser.Text);
                            cmd.Parameters.AddWithValue("@sq", tbsq.Text);
                            cmd.Parameters.AddWithValue("@oyunlar", tbgame.Text);
                            cmd.Parameters.AddWithValue("@email", tbmail.Text);
    			cmd.ExecuteNonQuery();
    			con.Close();
    			griddoldur();
    		}
    
    		private void BtnSil_Click(object sender, EventArgs e)
    		{
    			cmd = new OleDbCommand();
    			con.Open();
    			cmd.Connection = con;
    			cmd.CommandText = "delete from Origin where email=@email";
                            cmd.Parameters.AddWithValue("@email", tbmail.Text);
    			cmd.ExecuteNonQuery();
    			con.Close();
    			griddoldur();
    		}

    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    • Yanıt Olarak İşaretleyen Frightson 23 Mart 2018 Cuma 18:42
    • Yanıt İşaretini Geri Alan Frightson 23 Mart 2018 Cuma 18:42
    • Düzenleyen MuratAKSARAY 23 Mart 2018 Cuma 19:28
    • Yanıt Olarak İşaretleyen Frightson 23 Mart 2018 Cuma 20:59
    23 Mart 2018 Cuma 17:26

Tüm Yanıtlar

  •                 private void btnUpt_Click(object sender, EventArgs e)
    		{
    			cmd = new OleDbCommand();
    			con.Open();
    			cmd.Connection = con;
    			cmd.CommandText = "update Origin set sifre=@sifre, kAdi=@kAdi, SQ=@sq,oyunlar=@oyunlar where email=@email";
                            cmd.Parameters.AddWithValue("@sifre", tbpass.Text);
                            cmd.Parameters.AddWithValue("@kAdi", tbuser.Text);
                            cmd.Parameters.AddWithValue("@sq", tbsq.Text);
                            cmd.Parameters.AddWithValue("@oyunlar", tbgame.Text);
                            cmd.Parameters.AddWithValue("@email", tbmail.Text);
    			cmd.ExecuteNonQuery();
    			con.Close();
    			griddoldur();
    		}
    
    		private void BtnSil_Click(object sender, EventArgs e)
    		{
    			cmd = new OleDbCommand();
    			con.Open();
    			cmd.Connection = con;
    			cmd.CommandText = "delete from Origin where email=@email";
                            cmd.Parameters.AddWithValue("@email", tbmail.Text);
    			cmd.ExecuteNonQuery();
    			con.Close();
    			griddoldur();
    		}

    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    • Yanıt Olarak İşaretleyen Frightson 23 Mart 2018 Cuma 18:42
    • Yanıt İşaretini Geri Alan Frightson 23 Mart 2018 Cuma 18:42
    • Düzenleyen MuratAKSARAY 23 Mart 2018 Cuma 19:28
    • Yanıt Olarak İşaretleyen Frightson 23 Mart 2018 Cuma 20:59
    23 Mart 2018 Cuma 17:26
  • Severity Code Description Project File Line Suppression State
    Error CS1061 'OleDbParameterCollection' does not contain a definition for 'AddWirhValue' and no extension method 'AddWirhValue' accepting a first argument of type 'OleDbParameterCollection' could be found (are you missing a using directive or an assembly reference?) HesapVeriTabani C:\Users\baran\onedrive\belgeler\visual studio 2015\Projects\HesapVeriTabani\HesapVeriTabani\Form1.cs 84 Active

    İyi akşamlar. Böyle bir hata aldım.

    23 Mart 2018 Cuma 18:41
  • AddWirhValue yazan yerleri AddWithValue olarak düzeltin...

    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    • Yanıt Olarak İşaretleyen Frightson 23 Mart 2018 Cuma 20:59
    • Yanıt İşaretini Geri Alan Frightson 23 Mart 2018 Cuma 21:00
    23 Mart 2018 Cuma 19:29
  • Hocam çok teşekkür ederim gerçekten çalışıyor. Peki rica etsem hatam nerde ve neydi ve yeni yazdığımız kodu açıklar mısınız acaba?
    23 Mart 2018 Cuma 21:01
  • "WHERE email=" den sonra tek tırnak kullanmadığınız için hata oluşuyordu. 

    Hem bu tür hatalardan kurtulmak ve hem de güvenlik gerekçeleri ile SQL ifadelerinizde parametre kullanmanızı öneririm...


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    23 Mart 2018 Cuma 21:12
  • Her şey için teşekkür ederim iyi geceler.
    23 Mart 2018 Cuma 21:39
  • Datagridviewe comboboxtan seçilene göre veri çekme

    comboboxtan seçim yaptığımda veritabanımda 1 adet kayıt varken aynı kayıttan 5 tane gösteriyor veritabanımda 1 tane görünüyor 

    kodlarım şu şekilde 

     OleDbConnection con = new OleDbConnection(adres1);          
                DataSet ds = new DataSet();
                con.Open();
                if (comboBox2.Text=="Girdi")
                {
                  
                   string komut = "Select p.plaka,a.aracTur,p.ucret,p.ekUcret,p.tarih,p.acıklama,durum.Durum FROM plakaGiris AS p,arac AS a,durum WHERE Durum='Girdi'";
                    OleDbDataAdapter dta = new OleDbDataAdapter(komut, adres1);     
                    dta.Fill(ds,"plakaGiris");           
                    dataGridView1.DataSource = ds.Tables["plakaGiris"];
                    con.Close();
                }

                else
                {
                    string komut = "Select p.plaka,a.aracTur,p.ucret,p.ekUcret,p.tarih,p.acıklama,durum.Durum FROM plakaGiris AS p,arac AS a,durum WHERE Durum='Çıktı'";
                    OleDbDataAdapter dta = new OleDbDataAdapter(komut, adres1);
                    dta.Fill(ds, "plakaGiris");
                    dataGridView1.DataSource = ds.Tables["plakaGiris"];
                    con.Close();

    yardımcı olursanız sevinirim

    24 Mart 2018 Cumartesi 21:06
  • Tablo yapınızı bilmediğim için olması gereken alanları belirterek yanıtlıyorum. Bu kodları örnek olarak değerlendirip tablo yapınıza göre düzenleyebilirsiniz...

    DataTable tablo = new DataTable();
    using (OleDbConnection con = new OleDbConnection(adres1))          
    {
        using (OleDbDataAdapter dta = new OleDbDataAdapter("Select p.plaka,a.aracTur,p.ucret,p.ekUcret,p.tarih,p.acıklama,d.Durum FROM plakaGiris AS p, arac AS a, durum AS d WHERE a.aracTur=p.aracTur AND p.plaka=d.plaka AND d.Durum=@durum", con))
        {
            dta.SelectCommand.Parameters.AddWithValue("@durum", comboBox2.Text);
            dta.Fill(tablo);
        }
    }
    dataGridView1.DataSource = tablo;

    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    25 Mart 2018 Pazar 06:22
  • kodum bu şekide fakat tarih seçtiğimde kayıt hiç gelmiiyor olan kayıtta gidiyor sebeb nedir yardımcı olursanız sevinirim

    bu arada veritabanımda tarih metin olarak kayıtlı 

    şimdiden teşekkür ederim

    private void dtpTariheGöreAra_ValueChanged(object sender, EventArgs e)
            {
                OleDbConnection con = new OleDbConnection(adres1);
                con.Open();
                DataSet ds = new DataSet();
                ds.Clear();
                string komut = "Select p.plaka,a.aracTur,p.ucret,p.ekUcret,p.tarih,p.acıklama,durum.Durum FROM plakaGiris AS p,arac AS a,durum WHERE  p.aracTur=a.aracTurId AND p.durum_id=durum.Durum_id AND tarih LIKE'%" + dtpTariheGöreAra.Text + "%'";
                OleDbDataAdapter dta = new OleDbDataAdapter(komut, adres1);
                dta.Fill(ds, "plakaGiris");
                dataGridView1.DataSource = ds.Tables["plakaGiris"];

    kodum bu şekide fakat tarih seçtiğimde kayıt hiç gelmiiyor olan kayıtta gidiyor sebeb nedir yardımcı olursanız sevinirim

    bu arada veritabanımda tarih metin olarak kayıtlı 

    şimdiden teşekkür ederim

    26 Mart 2018 Pazartesi 13:26