none
Incorrect syntax near hatası RRS feed

  • Soru

  • System.Data.SqlClient.SqlException: 'Incorrect syntax near '='.'   urun guncellemede boyle hatası alıyorum nasıl duzeltecem

    inanın kac gundur ızlıyorum bakıyorum çozum bulamadım kodlarr       (sql  nchar20) kullanıyorum                     

    baglan.Open();
                //id yazılabılır kontrol et (alttaki)
                SqlCommand komut = new SqlCommand("Uptade dbkitap set id='" + textBox1.Text.ToString() +"',kitapad='"+textBox2.Text.ToString()+"',yazarad='"+textBox3.Text.ToString()+"',yayinevi='"+textBox4.Text.ToString()+"',sayfa='"+textBox5.Text.ToString()+ "'where id=" +sayi+ "" ,baglan);
    //kodda bı hata varmı 

                komut.ExecuteNonQuery();

                baglan.Close();

                verigoster();


    21 Şubat 2020 Cuma 12:03

Yanıtlar

  • parametre kullanımını öğrenmeniz lazım. Yoksa bu şekilde çok uğraşırsınız ve güvenlik sorunları da cabası.

    textbox'a girilen değerlerin ne olduğu da öncemli.

    Benim gördüğüm sayfa kitap toplam sayfası gibi görünüyor. Bunu "225 sayfa " diye tutmuyor iseniz bu sayısal bir alandır. Sayısal alanlar için tek tırnak kullanılmaz.


    pgnchess.com

    dergikapaklari.com

    21 Şubat 2020 Cuma 12:32

Tüm Yanıtlar

  • parametre kullanımını öğrenmeniz lazım. Yoksa bu şekilde çok uğraşırsınız ve güvenlik sorunları da cabası.

    textbox'a girilen değerlerin ne olduğu da öncemli.

    Benim gördüğüm sayfa kitap toplam sayfası gibi görünüyor. Bunu "225 sayfa " diye tutmuyor iseniz bu sayısal bir alandır. Sayısal alanlar için tek tırnak kullanılmaz.


    pgnchess.com

    dergikapaklari.com

    21 Şubat 2020 Cuma 12:32
  • SqlCommand komut = new SqlCommand(@"Update dbkitap set
       id=@id,
       kitapad=@kitapAd,
    -- ...
       sayfa = @sayfa", baglan);
        
    komut.Parameters.Add("@id", SqlDbType.VarChar).Value =textBox1.Text;
    komut.Parameters.Add("@kitapAd", SqlDbType.VarChar).Value =textBox2.Text;
    // ..
    int.TryParse(textBox5.Text, out int sayfaAdet);
    komut.Parameters.Add("@sayfa", SqlDbType.Int).Value =sayfaAdet;
    
    Kodda birden fazla hata var ve o mesajı vermesi garip. En bastaki komut "Uptade" degil "Update" olmalı. Geri kalanı icin aynen Halil arkadasimizin söylediği gibi doğru data tipleriyle parametre kullanmalisiniz. 


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

    21 Şubat 2020 Cuma 13:45
    Yanıtlayıcı