stored procedure interbase sql editöründe çalışıyor delphide

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
burakb44
Üye
Mesajlar: 131
Kayıt: 11 Mar 2005 03:13

stored procedure interbase sql editöründe çalışıyor delphide

Mesaj gönderen burakb44 »

arkadaşlar merhaba yazdığım bi procedure interbase sql editöründe sorunsuz çalışıyor delphide hata veriyor sebebi neden olabilir.


procedure aşağıda

SET TERM !!;
CREATE PROCEDURE TAHSILAT_YAP (C_KODU INTEGER, S_KODU INTEGER, T_ALINAN FLOAT, T_TARIHI TIMESTAMP, T_TURU VARCHAR(25) CHARACTER SET WIN1254)
AS
DECLARE VARIABLE THS_TURU VARCHAR(25);
BEGIN

THS_TURU=:T_TURU;

INSERT INTO CARI_TAKSIT_TAHSILAT (CARI_KODU, SATIS_KODU, ALINAN, ODEME_TARIHI, ODEME_TURU)
VALUES (:C_KODU, :S_KODU, :T_ALINAN, :T_TARIHI, :T_TURU);
IF (THS_TURU = 'NAKİT') THEN
UPDATE CARI SET ALACAK = ALACAK + :T_ALINAN, TOPLAM_BAKIYE = TOPLAM_BAKIYE - :T_ALINAN WHERE CARI_KODU=:C_KODU;
IF (THS_TURU = 'KREDİ KARTI') THEN
UPDATE CARI SET ALACAK = ALACAK + :T_ALINAN, TOPLAM_BAKIYE = TOPLAM_BAKIYE - :T_ALINAN WHERE CARI_KODU=:C_KODU;
IF (THS_TURU = 'ÇEK') THEN
UPDATE CARI SET ALINAN_CEK = ALINAN_CEK + :T_ALINAN, TOPLAM_BAKIYE = TOPLAM_BAKIYE - :T_ALINAN WHERE CARI_KODU=:C_KODU;
IF (THS_TURU = 'SENET') THEN
UPDATE CARI SET ALINAN_SENET = ALINAN_SENET + :T_ALINAN, TOPLAM_BAKIYE = TOPLAM_BAKIYE - :T_ALINAN WHERE CARI_KODU=:C_KODU;
END!!
SET TERM ; !!


delphi kodu

B:= 10000;
BP.Params[0].AsInteger:= 1;
BP.Params[1].AsInteger:= 1;
BP.Params[2].ASFLOAT:= B;
BP.Params[3].AsSTRING:= '01/01/2005';
BP.Params[4].ASSTRING:= 'NAKİT';
BP.ExecProc;
DM.IBTransaction1.CommitRetaining;


sorun nerede yardımcı olabilirmisiniz.
teşekkürler...
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Sorun şurada olabilir:

T_TARIHI TIMESTAMP, vermişsin

Burada:
BP.Params[3].AsSTRING:= '01/01/2005';

demişsin. Bu değer timestamp değil. date...

Bu ifadeyi:

BP.Params[3].AsDateTime:= StrToDateTime('01.01.2005 00:00')';

Yaparsan büyük ihtimalle sonuca ulaşırsın. Büyük ihtimal diyorum çünkü syntax'ı kontrol etmedim.
Kullanıcı avatarı
burakb44
Üye
Mesajlar: 131
Kayıt: 11 Mar 2005 03:13

Mesaj gönderen burakb44 »

teşekkürler yazdığınız gibi tarih formatını düzeltince oldu, fakat yinede kafama takıldı interbasin kendi sql editöründe '01/01/2005' şeklinde çalışıyor.
Cevapla