Soran
Güncelleme ve Silme Butonlarındaki Hata

Soru
-
Güncelleme Butonu :
Hata : System.Data.OleDb.OleDbException: 'Syntax error in UPDATE statement.'
cmd = new OleDbCommand();
con.Open();
cmd.Connection = con;
cmd.CommandText = "update kayitformu set bolge='" + bolgeler.Text + "','" + iller.Text + "','" + mudurluk.Text + "','" + tedarikci.Text + "','" + uretici.Text + "','" + kategoriler.Text + "','" + turler.Text + "','" + tipler.Text + "','" + adlar.Text + "','" + serinolar.Text + "','" + ariza.Text + "' where ogr_no=" + bolgeler.Text + "";
cmd.ExecuteNonQuery();
con.Close();
GridDoldur();Silme Butonu
hata : System.Data.OleDb.OleDbException: 'Syntax error (missing operator) in query expression 'bolge='.'
cmd = new OleDbCommand();
con.Open();
cmd.Connection = con;
cmd.CommandText = "delete from kayitformu where bolge=" + bolgeler.Text + "";
cmd.ExecuteNonQuery();
con.Close();
GridDoldur();İki butonda da hata var . Şimdiden teşekkür ederim .
Tüm Yanıtlar
-
İlk hatanda
update kayitformu set bolge = '" + bolgeler.text+ "' dedikten sonra virgül ile ayırdıktan sonra mutlaka yeni bir kolon adı yazmalısın Bu şekilde update kayitformu set bolge = '" + bolgeler.text+ "' ,iller ='"+iller.text+"' diğerlerinide bu şekilde bitirmen lazım .
İkinci hatanda tek tırnak koymayı unutmuşsun . Bir ricam daha uzun commadtext yazacaksan parametre kullan ve mümkünse ( " // bu alana kodlarını yaz"); .
Bir hatırlatma daha operatör hatası diyor ise kullandığın simgelere dikkat etmen gerekir . Syntax error diyor ise yazdığın kodun yazım şeklinde(syntax) hata var demektir.
Altan Özdemir
- Düzenleyen Altan Özdemir 27 Haziran 2018 Çarşamba 06:55 2
- Yanıt Olarak Öneren Mehmet Emin Kaymaz 27 Haziran 2018 Çarşamba 08:37
-
-
-
Örnek üzerinden gösterebilir misiniz ? Tam olarak ne demek istediğinizi anlayamadım .
string equery = "INSERT INTO leave (UserId, leaveType, fromDate, toDate, numdays, seasonLeave, Reason) VALUES(@UserId, @Type, xx, xx, xx, @seaonleave, @Reason)"; using (SqlCommand cmd = new SqlCommand(equery, con)) { cmd.Parameters.AddWithValue("@UserId", myUserId); cmd.Parameters.AddWithValue("@Type", leavetype.Text); ... // Şeklinde devam edeceksin. }
SQL cümlende kolonları ve onlara karşılık gelen parametreleri başına @ yazarak belirleyip sonra
cmd.Parameters.AddwithValue("Parametre",Senin yazmak istediğin değer);
Şeklinde kullanabilirsin.
Using de kullanmalısın bağlantıyı ve diğer sqlcommand ı oluştururken , sebebide bellekte kullanmak için yer açtığın bu nesneleri kullandıktan sonra bellekten atman gerektiği için.
Ve eğer access kullanıyorsan hiç beklemeden , sqlite ,mssql ,postgre vb. bir database e geçiş yap.
- Düzenleyen Mehmet Emin Kaymaz 27 Haziran 2018 Çarşamba 09:39
-