SQL Cümlesindeki Matematiksel İşlem Hatası

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
ENIGMA55
Üye
Mesajlar: 23
Kayıt: 15 Eki 2006 08:50

SQL Cümlesindeki Matematiksel İşlem Hatası

Mesaj gönderen ENIGMA55 »

merhaba arkadaşlar.aşağıdaki yordamda,sql cümlesindeki matematiksel işlemde real tanımlı bir değişken kullanmak istiyorum.ama hatayı nerde yaptığımı bir türlü çözemedim.tırnak içine almada mı bir yanlışlık var yoksa mantıksal bir hata mı?şimdiden teşekkür ederim.( Y ve X real tanımlı alanlar...)

procedure TForm1.Button1Click(Sender: TObject);
var
a:Real;

begin
a:=StrToFloat(Edit3.Text);


with IBQuery1 do
begin
close;
sql.Clear;
sql.add('Select * from TBL');
sql.add('where Y-'+a'<600');//Y ve X alanları float tanımlı.
open;
end;
end;
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Re: SQL Cümlesindeki Matematiksel İşlem Hatası

Mesaj gönderen rsimsek »

Sorun SQL cümlesinde değil string (karakter) ile real (sayıyı) ı toplamakta :idea:

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
  a:Real;
begin
  a:=StrToFloat(Edit3.Text);
  with IBQuery1 do
  begin
    close;
    sql.Clear;
    sql.add('Select * from TBL');
    sql.add('where Y - ' + FloatToStr(a) + ' < 600'); //Y ve X alanları float tanımlı.
    open;       // doğrudan Edit3.Text de konulabilir. Fakat içeriğinin sayısal bir değer olduğu garanti edilmeli!!!
  end;
end;
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: SQL Cümlesindeki Matematiksel İşlem Hatası

Mesaj gönderen unicorn64 »

içerik sayısal değer değilse bu durumda

a:=StrToFloat(Edit3.Text);

satırı da hata vermez mi?

bunun yerine sayısal girişe zorlamak(sayısal olmayan girişi engellemek) yada try excep kullanmak daha garanti sanıırm...
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
ENIGMA55
Üye
Mesajlar: 23
Kayıt: 15 Eki 2006 08:50

Re: SQL Cümlesindeki Matematiksel İşlem Hatası

Mesaj gönderen ENIGMA55 »

Evet arkadaşlar teşekkür ediyorum.sorun çözüldü...
Cevapla