Şimdi Ara

Asp.Net veritabanına bilgi ekleme hatası

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
5
Cevap
0
Favori
442
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Asp.net'te c# kodlarıyla çalışıyorum. Kİtap Bilgisi verilen textbox'a veri eklerken aşağıdaki resimdeki hatayı veriyor. O textbox'a veri eklemediğimde diğer veriler ekleniyor. Eklediğim metin sadece kitap içerisinden alıntı bir kısım. Ve çok fazla aşma durumu olduğunu da sanmıyorum. Bilgi kısmı veritabanında not olarak ekleniyor. Eksik ilgeç hatası falan ama bulamıyorum kodda.


     Asp.Net veritabanına bilgi ekleme hatası

    Kodlar: Asp.Net veritabanına bilgi ekleme hatası
     Asp.Net veritabanına bilgi ekleme hatası Asp.Net veritabanına bilgi ekleme hatası



    < Bu mesaj bu kişi tarafından değiştirildi glbedeninci -- 12 Mayıs 2016; 20:19:09 >







  • Çok yanlış kod yazıyorsun.Parse işlemlerinde düzgün veri girilmezse hata alırsın hiç kontrol yazmadan parse ediyorsun.Ayrıca SQL Injection yemeye müsait query yazmışsın.

    Aldığın hataya gelince de o uzun yazdığın metnin içinde ' (tek tırnaklar) var.O yüzden insert yapamıyor.
  • Kod üzerine çok fazla düşmek istemiyorum. daha yapmam gereken sayfalar ve zamanım az. Peki bir şey sorabilir miyim ben o tek tırnak hatasını nasıl düzeltebilirim? Yardımcı olurmusunuz?
  • quote:

    Orijinalden alıntı: glbedeninci

    Kod üzerine çok fazla düşmek istemiyorum. daha yapmam gereken sayfalar ve zamanım az. Peki bir şey sorabilir miyim ben o tek tırnak hatasını nasıl düzeltebilirim? Yardımcı olurmusunuz?

    Replace yapabilirsin kaydet işlemi yaparken.

    Tek tırnakları iki tane tek tırnakla değiştir.


    Kayıt yaparken SQL'de arkada bir trigger ile replace yapabilirsin.

    Ama kod tarafında yapmak istersen şu şekilde olacak.

    string finalString =!string.IsNullOrEmpty(textBox1.Text)? (textBox1.Text.Contains("'") ? textBox1.Text.Replace("'", "''") : textBox1.Text):string.Empty;
    ; //string finalString=textBox1.Text.Contains(Çift Tırnak Tek Tırnak Çift Tırnak) ? textBox1.Text.Replace(Çift Tırnak Tek Tırnak Çift Tırnak, Çift Tırnak Tek Tırnak Tek Tırnak Çift Tırnak) : textBox1.Text;


    Önce textboxu kontrol eder içi boş değilse-> yazdığın textboxun içinde tek tırnak varsa bunları iki tane tek tırnakla değiştirir.Yoksa textboxun değerini verir.
    İçi boşsa boş bir karakter kaydeder ektrana ya da ne istiyorsan yazarsın string.Empty yerine .

    5-6 if elseden de kurtulnmuş olursun tek satırda halledersin bu işlemini.



    En son finalStringi parametre olarak verirsin kaydettiğin sorguya vs.



    < Bu mesaj bu kişi tarafından değiştirildi coder73 -- 20 Mayıs 2016; 10:16:59 >




  • coder73 C kullanıcısına yanıt
    Çok teşekkür ederim. Deniycem.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.