Jump to content
TNC-TR
Sign in to follow this  
korasoglu

Sqlite Parametre Kayıt Işlemleri

Recommended Posts

Sqlite Parametre Kayıt İşlemleri

Arkadaşlar Parametreli olarak "isa,%/{}([?*işğ-&'!v" bu karakerler dahil kaydediyorum sorun yok

public static void ParametreliEkle(string ad,string soyad, string sehir)
        {
            try
            {
                string sorgu = "Insert into Ayranci (Ad,Soyad,Sehir) values (@Adi,@Soyadi,@Sehiri)";
                Komut = new SQLiteCommand(sorgu, Baglanti);
                Komut.Parameters.AddWithValue("@Adi", ad);
                Komut.Parameters.AddWithValue("@Soyadi", soyad);
                Komut.Parameters.AddWithValue("@Sehiri", sehir);
                Baglan();
                int result = Komut.ExecuteNonQuery();
                if (result < 0) { Cevap("Hata", "Kayıt İşlemi Başarısız"); }
                else { Cevap("Bilgi", "Kayıt İşlemi Başarılı"); }
                Baglan();
            }
            catch (Exception ex) { Cevap("Hata", ex.Message); }
        }

Fakat Güncelleme olduğu zaman hata veriyor ve çözemedim yardımcı olursanız sevinirim

public static void ParametreliGuncelle(string Deger, string ad, string soyad, string sehir)
        {
            try
            {
                string sorgu = "UPDATE Ayranci SET Ad = @'" + ad + "', Soyad = @'" + soyad + "', Sehir = @'" + sehir + "' WHERE Ad = @'" + Deger + "'";
                Komut = new SQLiteCommand(sorgu, Baglanti);
                Komut.Parameters.AddWithValue("@Ad", ad);
                Komut.Parameters.AddWithValue("@Soyad", soyad);
                Komut.Parameters.AddWithValue("@Sehir", sehir);
                Baglan();
                int result = Komut.ExecuteNonQuery();
                if (result < 0) { Cevap("Hata", "Güncelleme İşlemi Başarısız"); }
                else { Cevap("Bilgi", "Güncelleme İşlemi Başarılı"); }
                Baglan();
            }
            catch (Exception ex) { Cevap("Hata", ex.Message); }
        }

Share this post


Link to post
Share on other sites
string sorgu = $"UPDATE Ayranci SET Ad = '{ad}', Soyad = '{soyad}', Sehir = '{sehir}' WHERE Ad = '{Deger}'";

şu şekilde denermisiniz. Ayrıca update deki parametreler hatalı.

string sorgu = "UPDATE Ayranci SET Ad = @ad, Soyad = @soyad, Sehir = @sehir WHERE Ad = @Deger";
Komut = new SQLiteCommand(sorgu, Baglanti);
Komut.Parameters.AddWithValue("@Ad", ad);
Komut.Parameters.AddWithValue("@Soyad", soyad);
Komut.Parameters.AddWithValue("@Sehir", sehir);

Parametreli buşekildede kullanabilirsiniz.

Edited by pairs
  • Like 1

Share this post


Link to post
Share on other sites

Selam @Pairs,

String interpolation c# 6.0 da gelen güzel ve exception vermeyen bir özellik arkadaş daha düşük visual studio sürümü kullanıyorsa hata alabilir. String.Format ile de yazalım.

string sorgu = string.Format("UPDATE Ayranci SET Ad = '{0}', Soyad = '{1}', Sehir = '{2}' WHERE Ad = '{3}'",  ad, soyad, sehir, deger);
                    
                       

@korasoglu,

Ufakt bir tips. Update ve Delete işlemlerinde string türlerine pek güven olmaz o yüzden mutlaka her tablonda int id sutünü primary key şeklinde olması hayat kurtarır. 

  • Like 2

Share this post


Link to post
Share on other sites

Sevgili Simpson senin örnekte parametreli veri işlemi yapılmıyor normal update yaptığı için bunları %/{}([?*işğ-&'!v veri tabanına kaydetmez.

Pairs tşk ederim deneyelim.

Bu örnek PHP kullanımına benziyor c#  bu kullanım varmıdır.

string sorgu = $"UPDATE Ayranci SET Ad = '{ad}', Soyad = '{soyad}', Sehir = '{sehir}' WHERE Ad = '{Deger}'";
Edited by korasoglu

Share this post


Link to post
Share on other sites

C# 6.0 da gelen bir özellik string.format methodunun yerine kullanılıyor geniş bir kullanımı var.

https://docs.microsoft.com/tr-tr/dotnet/csharp/language-reference/tokens/interpolated
http://www.ilkayilknur.com/c-sharp-6-string-interpolation

 

  • Like 1

Share this post


Link to post
Share on other sites
korasoglu, 9 saat önce yazdı:

Sevgili Simpson senin örnekte parametreli veri işlemi yapılmıyor normal update yaptığı için bunları %/{}([?*işğ-&'!v veri tabanına kaydetmez.

Pairs tşk ederim deneyelim.

Bu örnek PHP kullanımına benziyor c#  bu kullanım varmıdır.

string sorgu = $"UPDATE Ayranci SET Ad = '{ad}', Soyad = '{soyad}', Sehir = '{sehir}' WHERE Ad = '{Deger}'";

 

SimpsoN_Bart, 8 saat önce yazdı:

C# 6.0 da gelen bir özellik string.format methodunun yerine kullanılıyor geniş bir kullanımı var.

https://docs.microsoft.com/tr-tr/dotnet/csharp/language-reference/tokens/interpolated
http://www.ilkayilknur.com/c-sharp-6-string-interpolation

 

PHP Değilde sametin dediği gibi yeni gelen bir özellik bu vede çok hoş bir özellik.

Share this post


Link to post
Share on other sites

İş yoğunluğundan bakmıyorum en kısa zamanda dönüşüm yaparım çok teşekkür ederim bilgi paylaşıldıkça güzeldir bir kez daha ispatlanmış oldu.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×