Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
4
Cevap
467
Tıklama
0
Öne Çıkarma
Asp.Net veritabanına bilgi ekleme hatası
G
9 yıl
Er
Konu Sahibi

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.


< Resime gitmek için tıklayın >

Kodlar:< Resime gitmek için tıklayın >
< Resime gitmek için tıklayın >< Resime gitmek için tıklayın >





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

C
9 yıl
Yüzbaşı

Ç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.


Bu mesaja 1 cevap geldi.
G
9 yıl
Er
Konu Sahibi

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?


Bu mesaja 1 cevap geldi.
C
9 yıl
Yüzbaşı

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 >
Bu mesaja 1 cevap geldi.
G
9 yıl
Er
Konu Sahibi

Çok teşekkür ederim. Deniycem.




Bu mesajda bahsedilenler: @coder73
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.