Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
yokname
Üye
Mesajlar: 77 Kayıt: 17 Nis 2005 08:16
Konum: izmir
Mesaj
gönderen yokname » 21 Nis 2005 01:20
Arkadaşlar bu kod table da çalışıyor ama query de çalışmıyor benim asıl yapmak istediğim sayısal bir alanı karşılaştırmak bo konuda bana yardımcı olursanız çok sevinirim
Yapmak İstediğim
Kod: Tümünü seç
selectsql.add('select * from KITAPLAR where KITAPKODU='deger'');
Başka çözüm yollarıda olabilir
Şimdiden Çok teşekkürler
naile
Admin
Mesajlar: 1873 Kayıt: 11 Haz 2003 10:11
Mesaj
gönderen naile » 21 Nis 2005 01:24
Eğer nümerik bir alana göre sorgulama yapacaksanız:
Kod: Tümünü seç
selectsql.add('select * from KITAPLAR where KITAPKODU='+deger);
string bir alana göreyse tırnakları yazmanız lazım:
Kod: Tümünü seç
selectsql.add('select * from KITAPLAR where KITAPADI='''+deger+'''');
yokname
Üye
Mesajlar: 77 Kayıt: 17 Nis 2005 08:16
Konum: izmir
Mesaj
gönderen yokname » 21 Nis 2005 01:32
Sağolasın Kardeş ama editteki değeri integere çeviremedim
Kod: Tümünü seç
s:=KITAPKODU=+strtofloat(edit1.text);
çalışmadı
yokname
Üye
Mesajlar: 77 Kayıt: 17 Nis 2005 08:16
Konum: izmir
Mesaj
gönderen yokname » 21 Nis 2005 01:43
Peki bu mantığın başka bir yolu varmıdır arkadaşlar
rsimsek
Admin
Mesajlar: 4482 Kayıt: 10 Haz 2003 01:48
Konum: İstanbul
Mesaj
gönderen rsimsek » 21 Nis 2005 02:19
yokname yazdı: Sağolasın Kardeş ama editteki değeri integere çeviremedim
Kod: Tümünü seç
s:=KITAPKODU=+strtofloat(edit1.text);
çalışmadı
burada
s ve
KITAPKODU değişkeninin tipi nedir? Sayısal bir alan değilse hata verir. Ayrıca + dan önce de bir = işareti var
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
yokname
Üye
Mesajlar: 77 Kayıt: 17 Nis 2005 08:16
Konum: izmir
Mesaj
gönderen yokname » 21 Nis 2005 02:29
s:real
kitapkodu:double precission
ikiside sayısal değer hocam string değer ararken '=' işareti kitapkodu alanına edit1 i atıyor olması lazım (yanlış biliyorsam affola
) ama sayısal alanlarda nasıl oluyor bilemiyorum
rsimsek
Admin
Mesajlar: 4482 Kayıt: 10 Haz 2003 01:48
Konum: İstanbul
Mesaj
gönderen rsimsek » 21 Nis 2005 03:29
+ dan önceki = işaretine dikkat ettin mi
Yani programda da bu şekilde mi?
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
yokname
Üye
Mesajlar: 77 Kayıt: 17 Nis 2005 08:16
Konum: izmir
Mesaj
gönderen yokname » 21 Nis 2005 03:56
Table da filtrelerken boyle yapmıştım ama query de farklımı bilmiyorum table da
değişkeni yazıp karşılaştrınca yapmıştı query de istediğim string ve sayısal alanları kullanıcıdan bilgi alıp karşılaştırmak
mesela queryde
Kod: Tümünü seç
selectsql.add('select * from KITAPLAR where KITAPADI='#39'+S+'#39'');
yaptım ama çalışmadı
rsimsek
Admin
Mesajlar: 4482 Kayıt: 10 Haz 2003 01:48
Konum: İstanbul
Mesaj
gönderen rsimsek » 22 Nis 2005 08:48
yokname yazdı:
Kod: Tümünü seç
selectsql.add('select * from KITAPLAR where KITAPADI='#39'+S+'#39'');
yaptım ama çalışmadı
Son tırnak fazla gibi..?
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
hdayi
Kıdemli Üye
Mesajlar: 1284 Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.
Mesaj
gönderen hdayi » 22 Nis 2005 09:15
Parametre kullanarak yapmak daha kolay gibi bu tür problemlerde.
Kod: Tümünü seç
selectsql.add('select * from KITAPLAR where KITAPKODU=:deger');
selectsql.parameters.parambyname('deger').value:=edit1.text;
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
yokname
Üye
Mesajlar: 77 Kayıt: 17 Nis 2005 08:16
Konum: izmir
Mesaj
gönderen yokname » 22 Nis 2005 11:08
Kod: Tümünü seç
SelectSQL.Add('select * from maldetay where maldetay.musno');
SelectSQL.add('=(select musteriana.musno from musteriana where ad=:deger)');
ParamByName('deger').value:=edit1.text;
Yardımlarınız için teşekkürler arkadaşlar böyle hallettim.
Allah azı olsun. İyi çalışmalar