Cümlenin içinde ' işareti olunca hata veriyor.
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Cümlenin içinde ' işareti olunca hata veriyor.
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 ?
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
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
Re: Cümlenin içinde ' işareti olunca hata veriyor.
şeklinde deneyinsako yazdı: genelarama.selectSQL.Add('select * from gelen where tum_kod like ''%'+QuotedStr(edit1.Text)+'%''');
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...

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

Re: Cümlenin içinde ' işareti olunca hata veriyor.
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
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
Re: Cümlenin içinde ' işareti olunca hata veriyor.
s.a.
edit1.text i replace etmeniz lazım.
(') (tek tırnak yerine)('') iki tane tek tırnak koymanız lazım.
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
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Re: Cümlenin içinde ' işareti olunca hata veriyor.
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/)
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/)
Re: Cümlenin içinde ' işareti olunca hata veriyor.
İş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
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
- adelphiforumz
- Üye
- Mesajlar: 602
- Kayıt: 01 Nis 2008 05:38
- Konum: İstanbul
Re: Cümlenin içinde ' işareti olunca hata veriyor.
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.
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
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
Re: Cümlenin içinde ' işareti olunca hata veriyor.
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...
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
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
Re: Cümlenin içinde ' işareti olunca hata veriyor.
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.
ö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
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Re: Cümlenin içinde ' işareti olunca hata veriyor.
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
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
Re: Cümlenin içinde ' işareti olunca hata veriyor.
Sogruları parametreli yaparsan bu kadar sorun çıkmaz.