SQL İle Karekök İşleminde Hata!

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 İle Karekök İşleminde Hata!

Mesaj gönderen ENIGMA55 »

merhaba arkadaşlar.yaptığım projede veritabanında matematiksel işlemler yaptırmak zorundayım.aşağıdaki yordamda sürekli " Function unknow SQRT" hata mesajı veriyor.unitte Math tanımlamama rağmen işlemi gerçekleştiremiyorum.Yardımcı olmanızı rica ediyorum.Ayrıca,sql ile matematiksel işlemlerin örneklerle anlatıldığı dökümanlar var ise paylaşmanızı rica ediyorum.şimdiden teşekkürler.

procedure TForm1.Button1Click(Sender: TObject);
begin
with IBQuery1 do
begin
close;
sql.clear;
sql.add('Select * From TBL');
sql.add('where Sqrt(Y*X)<600');//Y ve X alanları float tanımlı.
open;
end;
end;
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: SQL İle Karekök İşleminde Hata!

Mesaj gönderen unicorn64 »

kardeş Math unitini sql in usesina mı ekledin :?:

delphide uses bölümüne eklediğin unitler sadece delphide işe yarar...
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 İle Karekök İşleminde Hata!

Mesaj gönderen ENIGMA55 »

peki.bu sorunumun çaresi nedir?
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Re: SQL İle Karekök İşleminde Hata!

Mesaj gönderen sadettinpolat »

kullandiginiz surum sqrt fonksiyonunu desteklemiyordur
sqrt fonksiyonunu destekleyen bir surum kullanin ya da icerisinde sqrt fonksiyonu olan bir udf bulup onu kullanin.
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Re: SQL İle Karekök İşleminde Hata!

Mesaj gönderen Hakan Can »

Eşitliğin bir tarafına karekök yazmak yerine, diğer tarafına karesini yazarak istediğini yapabilirsin.

Yani:

where Sqrt(Y*X)<600

yerine:

where Y*X<600*600

yazabilirsin.

Tabi X ve Y değerlerinin negatif olma ihtimalleri varsa şartı daha da geliştirmelisin.
Cevapla