Cümlenin içinde ' işareti olunca hata veriyor.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
sako
Üye
Mesajlar: 477
Kayıt: 11 Haz 2003 02:40
Konum: ERZURUM

Cümlenin içinde ' işareti olunca hata veriyor.

Mesaj gönderen sako »

genelarama.selectSQL.Add('select * from gelen where tum_kod like ''%'+edit1.Text+'%''');

edit1 içerisinde ' işareti varsa hata veriyor

raised exception class EIBclienterror with message ' SQl parse error:eof in string detected'

hatası veriyor. ' işaretini de kullanmamız şart. Bir çözümü var mıdır acaba ?
DOĞUNUN SINIR TAŞI ERZURUM'UN DADAŞ'I
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: Cümlenin içinde ' işareti olunca hata veriyor.

Mesaj gönderen unicorn64 »

sako yazdı: genelarama.selectSQL.Add('select * from gelen where tum_kod like ''%'+QuotedStr(edit1.Text)+'%''');
şeklinde deneyin
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
sako
Üye
Mesajlar: 477
Kayıt: 11 Haz 2003 02:40
Konum: ERZURUM

Re: Cümlenin içinde ' işareti olunca hata veriyor.

Mesaj gönderen sako »

olmadı yine hata veriyor :?
DOĞUNUN SINIR TAŞI ERZURUM'UN DADAŞ'I
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Cümlenin içinde ' işareti olunca hata veriyor.

Mesaj gönderen aslangeri »

s.a.
edit1.text i replace etmeniz lazım.
(') (tek tırnak yerine)('') iki tane tek tırnak koymanız lazım.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
csunguray
Üye
Mesajlar: 855
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: Cümlenin içinde ' işareti olunca hata veriyor.

Mesaj gönderen csunguray »

Doğrusu şöyle:

Kod: Tümünü seç

[quote="unicorn64"]genelarama.selectSQL.Add('select * from gelen where tum_kod like ' + QuotedStr('%' + Edit1.Text + '%') );
[/quote]
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri

Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
sako
Üye
Mesajlar: 477
Kayıt: 11 Haz 2003 02:40
Konum: ERZURUM

Re: Cümlenin içinde ' işareti olunca hata veriyor.

Mesaj gönderen sako »

İşte şimdi oldu teşekkürler.
DOĞUNUN SINIR TAŞI ERZURUM'UN DADAŞ'I
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

Re: Cümlenin içinde ' işareti olunca hata veriyor.

Mesaj gönderen adelphiforumz »

Merhabalar

Benim önerim bu tarz sql cümleleri oluştururken kontrolsüz şekilde text içerisinden bilgi alma
Bu tür işlemler senin veritabanın ile olan tüm güvenliğini iptal eder
buna kısaca "sql injection" denir biraz internetten araştırırsan sakıncalarını anlarsın
bunun yerine sql server üzerinde StoreProcedure yada Fonksiyonla yapman
en kötüsünde ise program içerisinden parametre göndererek yapmandır.
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
sako
Üye
Mesajlar: 477
Kayıt: 11 Haz 2003 02:40
Konum: ERZURUM

Re: Cümlenin içinde ' işareti olunca hata veriyor.

Mesaj gönderen sako »

genelarama.selectSQL.Add('select * from gelen where tum_kod like ' + QuotedStr('%' + Edit1.Text + '%') );
Bu kod çalışıyor sıkıntı yok. Ama buraya bir de gruplama yapiyim dedim aşağıdaki gibi yapıyorum grup işleminde hata veriyor.

genelarama.selectSQL.Add('select * from gelen group by tum_kod, where tum_kod like ' + QuotedStr('%' + edit1.Text + '%') );

group by kısmını bir kaç yere değiştirp denedim ama yine hata verdi...
DOĞUNUN SINIR TAŞI ERZURUM'UN DADAŞ'I
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Cümlenin içinde ' işareti olunca hata veriyor.

Mesaj gönderen aslangeri »

s.a.
önce oluşturmak istediğin sql i normal bir editörde yazıp sorguyu hazırla.
sonra ona göre dinamik sorguyu oluştur.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: Cümlenin içinde ' işareti olunca hata veriyor.

Mesaj gönderen emin_as »

Bu yazım yanlış:
select * from gelen group by tum_kod, where tum_kod like ' + QuotedStr('%' + edit1.Text + '%')

Dogrusu:
select * from gelen where tum_kod like ' + QuotedStr('%' + edit1.Text + '%') group by tum_kod

Group by where den sonra gelmelidir.
Group by dan sonra virgul kullanamazsın.

SQL ile ilgili dokumanları oku orada nasıl kullanman gerektiği anlatılır.

Firebird ile select i nasıl kullanacagın aşagıda anlatılıyor, diger sql sistemleri de az çok aynıdır.
http://www.firebirdsql.org/file/documen ... elect.html
orhancc
Üye
Mesajlar: 585
Kayıt: 24 Ağu 2010 02:14
Konum: İstanbul / Kadıköy
İletişim:

Re: Cümlenin içinde ' işareti olunca hata veriyor.

Mesaj gönderen orhancc »

Sogruları parametreli yaparsan bu kadar sorun çıkmaz.
Cevapla