erro em Procedure
Ola pessoal
Quando eu crio uma procedure e a executo ela da o seguinte erro:
[color=red:bba770a62a]´Colud not convert variant of type (String) of type (Date)´[/color:bba770a62a]
Mas o mais estranho é que ate aquelas procedures que eu ja tinha feito e estavam funcionando normalmente quando eu as executo elas me mostram o este mesmo erro, Porfavor se alguem souber como corrigir me fale pois ja tentei ate desistalar e reinstalar o firebird e tambem o mais incrivel é que eu pego um banco novo e que eu tenho certeza que esta sem bags e ele tambem me mostra este maldito erro.
Pessoal estou mandando abaixo tambem a procedure que eu tinha feito para voces avaliarem e ver se tem alguma coisa a ver.
Desde ja agradeço
[list:bba770a62a]CREATE PROCEDURE SLS_RELATORIO_7(
PREPRESENTACAOID INTEGER,
PCLIENTEID INTEGER,
PDATA_INICIAL DATE,
PDATA_FINAL DATE)
RETURNS(
RPEDIDOID INTEGER,
RDATA DATE,
RNOME_CLIENTE VARCHAR(100) CHARACTER SET NONE,
RNOME_REPRESENTADA VARCHAR(100) CHARACTER SET NONE)
AS
BEGIN
FOR
SELECT
SLS_PEDIDOS.DATA,
SLS_PEDIDOS.PEDIDOID,
SLS_CLIENTES.NOME,
SLS_REPRESENTADAS.NOME
FROM
SLS_CLIENTES
LEFT JOIN SLS_PEDIDOS ON (SLS_CLIENTES.REPRESENTACAOID = SLS_PEDIDOS.REPRESENTACAOID) AND
(SLS_CLIENTES.CLIENTEID = SLS_PEDIDOS.CLIENTEID)
LEFT JOIN SLS_REPRESENTADAS ON (SLS_PEDIDOS.REPRESENTACAOID = SLS_REPRESENTADAS.REPRESENTACAOID) AND
(SLS_PEDIDOS.REPRESENTADAID = SLS_REPRESENTADAS.REPRESENTADAID)
WHERE
SLS_CLIENTES.REPRESENTACAOID =: PREPRESENTACAOID AND
SLS_CLIENTES.CLIENTEID =: PCLIENTEID AND
SLS_PEDIDOS.DATA BETWEEN :PDATA_INICIAL AND :PDATA_FINAL
ORDER BY
SLS_PEDIDOS.DATA,
SLS_PEDIDOS.PEDIDOID
INTO
:RDATA,
:RPEDIDOID,
:RNOME_CLIENTE,
:RNOME_REPRESENTADA
DO
BEGIN
SUSPEND;
END
END[/list:u:bba770a62a]
Quando eu crio uma procedure e a executo ela da o seguinte erro:
[color=red:bba770a62a]´Colud not convert variant of type (String) of type (Date)´[/color:bba770a62a]
Mas o mais estranho é que ate aquelas procedures que eu ja tinha feito e estavam funcionando normalmente quando eu as executo elas me mostram o este mesmo erro, Porfavor se alguem souber como corrigir me fale pois ja tentei ate desistalar e reinstalar o firebird e tambem o mais incrivel é que eu pego um banco novo e que eu tenho certeza que esta sem bags e ele tambem me mostra este maldito erro.
Pessoal estou mandando abaixo tambem a procedure que eu tinha feito para voces avaliarem e ver se tem alguma coisa a ver.
Desde ja agradeço
[list:bba770a62a]CREATE PROCEDURE SLS_RELATORIO_7(
PREPRESENTACAOID INTEGER,
PCLIENTEID INTEGER,
PDATA_INICIAL DATE,
PDATA_FINAL DATE)
RETURNS(
RPEDIDOID INTEGER,
RDATA DATE,
RNOME_CLIENTE VARCHAR(100) CHARACTER SET NONE,
RNOME_REPRESENTADA VARCHAR(100) CHARACTER SET NONE)
AS
BEGIN
FOR
SELECT
SLS_PEDIDOS.DATA,
SLS_PEDIDOS.PEDIDOID,
SLS_CLIENTES.NOME,
SLS_REPRESENTADAS.NOME
FROM
SLS_CLIENTES
LEFT JOIN SLS_PEDIDOS ON (SLS_CLIENTES.REPRESENTACAOID = SLS_PEDIDOS.REPRESENTACAOID) AND
(SLS_CLIENTES.CLIENTEID = SLS_PEDIDOS.CLIENTEID)
LEFT JOIN SLS_REPRESENTADAS ON (SLS_PEDIDOS.REPRESENTACAOID = SLS_REPRESENTADAS.REPRESENTACAOID) AND
(SLS_PEDIDOS.REPRESENTADAID = SLS_REPRESENTADAS.REPRESENTADAID)
WHERE
SLS_CLIENTES.REPRESENTACAOID =: PREPRESENTACAOID AND
SLS_CLIENTES.CLIENTEID =: PCLIENTEID AND
SLS_PEDIDOS.DATA BETWEEN :PDATA_INICIAL AND :PDATA_FINAL
ORDER BY
SLS_PEDIDOS.DATA,
SLS_PEDIDOS.PEDIDOID
INTO
:RDATA,
:RPEDIDOID,
:RNOME_CLIENTE,
:RNOME_REPRESENTADA
DO
BEGIN
SUSPEND;
END
END[/list:u:bba770a62a]
Marvel
Curtidas 0
Respostas
Macario
01/02/2008
Olá
Verifique o formato da data DD/MM/YYYY ou MM/DD/YYYY
tambem veja se no momento de passar os parametros voce esta passando via Datetime ou string;
Verifique o formato da data DD/MM/YYYY ou MM/DD/YYYY
tambem veja se no momento de passar os parametros voce esta passando via Datetime ou string;
GOSTEI 0
Marvel
01/02/2008
ta certo, irei verificar o que voce me disse mais o que acontece é que isto esta acontecendo em todas as procedures que tem data inicial e data final e elas estavam normais, funcionando uma maravilha ai de uma hora para outra me aparece este erro, o que exatamente pode ter causado isto?
novamente agradeço
novamente agradeço
GOSTEI 0
Macario
01/02/2008
Pode ser o formato da data ou no Banco de dados ou no sistema operacional.
nao trabalho com FB, mas tente o seguinte comando
[b:804c7ded6b]SET DATEFORMAT dmy[/b:804c7ded6b]
Antes de executar a procedure.
nao trabalho com FB, mas tente o seguinte comando
[b:804c7ded6b]SET DATEFORMAT dmy[/b:804c7ded6b]
Antes de executar a procedure.
GOSTEI 0
Marvel
01/02/2008
Macario era um erro no meu banco, não poderei explicar o que estava dando errado pois não fui eu quem arrumou o meu banco, foi um outro programador, mas valeu pela sua ajuda. irei perguntar a ele o que era que estava dando errado e volto a postar
Abraço
Abraço
GOSTEI 0