FB tarih ile ilgili sorun (Çözüldü)

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
eren2000
Üye
Mesajlar: 126
Kayıt: 26 Haz 2003 06:40
Konum: aksaray
İletişim:

FB tarih ile ilgili sorun (Çözüldü)

Mesaj gönderen eren2000 »

s.a.
Firebirdle 1.5.2 kullanıyorum. Delphi7 ile program yazıyorum.bugüne kadar hiç başıma gelmeyen bir sorunla karşı karşıyayım.
Table da TARIH isimli bir alan mevcut.

SQL cümlesi IBExpert içinde çalışıyor. Sorun yok.Parametreleri doğru alıyor ve doğru sonucu çıkarıyor. Fakat Delphi içinde hata veriyor. SQL cümlesi şöyle :

Kod: Tümünü seç

SELECT A.ID,A.ISLEMNO,A.TARIH,A.ISLEMTURU,A.ACIKLAMA, A.BORC,A.ALACAK, ((SELECT COALESCE(SUM(B.ALACAK),0) FROM CARIHAREKET B WHERE B.CARIID=:ID  AND B.ID<=A.ID)-(SELECT COALESCE(SUM(B.BORC),0) FROM CARIHAREKET B WHERE B.CARIID=:ID AND B.ID<=A.ID)) AS BAKIYE FROM CARIHAREKET A WHERE (CARIID=:ID)  AND (TARIH BETWEEN :TARIH1 AND :TARIH2) ORDER BY A.ID ASC
Dlphi içerisinde de şu şekilde kullandım.

Kod: Tümünü seç

qekstre.close;
    qekstre.Params[0].AsInteger:=tcarikartid.Value;
    qekstre.params[1].AsDate:=datetimepicker1.date;
    qekstre.params[2].AsDate:=datetimepicker2.date;
    qekstre.Prepare;
    qekstre.Open;
verdiği hata ise şudur.

Kod: Tümünü seç

conversion errror from string "2007-06-17'" . 
Böyle bir ha

Kod: Tümünü seç

ta veriyor.

Buna benzer bir SQL i başka bir yerde kullanıyorum hata vermiyor. Bu SQL IBExpertte aynı şekilde kullanıldığında parametreleri doğru alıyor ve doğru şekilde sonuç döndürüyor. Lütfen yardım edin. Şimdiden teşekkür ederim.
eren2000
Üye
Mesajlar: 126
Kayıt: 26 Haz 2003 06:40
Konum: aksaray
İletişim:

Forumu boşyere meşgul ettim özür dilerim

Mesaj gönderen eren2000 »

Çözümü basitmiş ama kaç gündür takıldım yapamadım. Buraya yazdıktan sonra
deneme yaparken aklıma geldi.
Kusura bakmayın boş yere yer işgal ettim özür dilerim. Bu arada ihtiyacı olan arkadaş olabilir. Bu tür birleştirmeler de hatalar yaşanıyormuş Firebirdde. Internette öyle yazıyordu.

Kod: Tümünü seç

SELECT A.ID,A.ISLEMNO,A.TARIH,A.ISLEMTURU,A.ACIKLAMA, A.BORC,A.ALACAK , ((SELECT COALESCE(SUM(B.ALACAK),0) FROM CARIHAREKET B WHERE B.CARIID=:ID  AND B.ID<=A.ID and (TARIH BETWEEN :TARIH1 AND :TARIH2))-(SELECT COALESCE(SUM(B.BORC),0) FROM CARIHAREKET B WHERE B.CARIID=:ID AND B.ID<=A.ID AND (TARIH BETWEEN :TARIH1 AND :TARIH2))) AS BAKIYE FROM CARIHAREKET A WHERE (CARIID=:ID)  AND (TARIH between  :TARIH1 and :tarih2) ORDER BY A.ID ASC
Cevapla