erro em procedure

24/11/2004

0

o q há de errado nessa procedure q ele me retorna o seguinte erro quando eu a executo

[b:88cecc694b]ISC ERROR CODE:335544334

ISC ERROR MESSAGE:
conversion error from string ´0´

STATEMENT:
TIBOInternalDataset: ´<TApplication>.frmMain.dlgWisql.<TIBOQuery>.<TIBOInternalDataset>.´[/b:88cecc694b]

SET TERM ^;
CREATE PROCEDURE "RECCOMPRATXT" 
(
  "NOSSONUMTXT" VARCHAR(15) CHARACTER SET WIN1252,
  "DATAPG" DATE,
  "VALOR" DOUBLE PRECISION
)
RETURNS
(
  "RETORNO" VARCHAR(2) CHARACTER SET WIN1252
)
AS
DECLARE VARIABLE SALDOFATURA DOUBLE PRECISION;
/*DECLARE VARIABLE DATAPGTO DATE;*/
DECLARE VARIABLE NOSSONUM VARCHAR(15);
DECLARE VARIABLE NUMCARTAO VARCHAR(16);
DECLARE VARIABLE NUMCARTRT VARCHAR(16);
BEGIN
 FOR SELECT FT.NTITULAR,FT.NOSSONUM,FT.SALDOFATURA FROM TABFATURAS FT
  WHERE FT.NOSSONUM=:NOSSONUMTXT AND FT.PAGO=´0´ AND FECHADA=´1´ INTO :NUMCARTAO,
  :NOSSONUM,:SALDOFATURA DO
  BEGIN
   IF (:NOSSONUM = :NOSSONUMTXT) THEN
    BEGIN
     IF (:SALDOFATURA=:VALOR) THEN
      BEGIN
       UPDATE TABFATURAS SET VRPAGO=:VALOR,DATAPGTO=:DATAPG,PAGO=´1´ WHERE
        NOSSONUM=:NOSSONUMTXT AND PAGO=´0´ AND FECHADA=´1´;
      END
      ELSE
       BEGIN
        UPDATE TABFATURAS SET VRPAGO=:VALOR,DATAPGTO=:DATAPG,PAGO=´1´ WHERE
         NOSSONUM=:NOSSONUMTXT
        AND PAGO=´0´ AND FECHADA=´1´;
        /****************************************************************/
        FOR SELECT RT.NCARTAO FROM TABVRROTATIVO RT WHERE NCARTAO=:NUMCARTAO
         INTO :NUMCARTRT DO
        /****************************************************************/
        IF (:NUMCARTRT=:NUMCARTAO) THEN
         BEGIN
          UPDATE TABVRROTATIVO SET VALOR=VALOR+(:SALDOFATURA-:VALOR),DATA=:DATAPG
           WHERE NCARTAO=:NUMCARTAO;
         END
         ELSE
          BEGIN
           INSERT INTO TABVRROTATIVO(NCARTAO,VALOR,DATA)VALUES(:NUMCARTAO,
           :SALDOFATURA-:VALOR,:DATAPG);
          END
       END
    END
    RETORNO=´01´;
    SUSPEND;
  END

END
 ^

SET TERM ; ^



Tap_pedroso

Tap_pedroso

Responder

Posts

24/11/2004

Tap_pedroso

o erro está dado pq eu estou passando o seguinte:

[b:a9e46b3fd0]select * from RECCOMPRATXT(1,25/11/2004,205)[/b:a9e46b3fd0]

se eu tirar a data 25/11/2004 ou 11/25/2004 ele não dá o erro mas com a data dá o erro oq será?


Responder

24/11/2004

Gandalf.nho

Experimente colocar a data entre aspas simples


Responder

24/11/2004

Tap_pedroso

OK AGORA DEU.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar