Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

suporte2011

convercion error from string

Recommended Posts

Caros colegas, estou batendo cabeça a dois dias para resolver este erro.
Criei uma plicação em Delphi 7 com banco de dados sql usando o interbase 6.5.
Tenho um formulário que mostra a saida de mercadorias por filiais.
Estou usando o QuickRep para formularios, no QuickRep1 do Form tenho:
1º rbPageHeader = Logo da empresa e Titulo do formulário
2ºrbDetail = Código filial, Nome, Data da saida, Valor total - ligado ao sqlsaidafilial
3ºQRSubDetail1 = Código do produto, decrição, quantidade, valor unidade, valor total - ligado ao sqlsaidaprodutos
4ºrbSummary = QRExpr - fazer a soma total das saidas - ligado ao sqlsaidafilialvalortotal

O dataset do QuickRep1 estar ligado ao sqlsaidafilial
O datase do rbDetail estar ligado ao sqlsaidaprodutos

No evento BeforePrint do rbDetail coloquei o seguinte comando:
SQLSAIDAPRODUTOS.Active:=True;
SQLSAIDAPRODUTOS.SQL.Clear;
SQLSAIDAPRODUTOS.SQL.Add('select * from saida_prod where sai_cod_filial='+#39+SQLSAIDAFILIALCODIGOSAIDA.AsString+#39);
SQLSAIDAPRODUTOS.Active:=True;

Veja como estar minha tabela de saida produtos:


CREATE TABLE "SAIDA_PROD"
(
"SAI_COD_FILIAL" INTEGER NOT NULL,
"SAI_COD_PRODUTO" INTEGER NOT NULL,
"SAI_VALORPRODUTO" NUMERIC(15, 2) NOT NULL,
"SAI_QUANTIDADE" NUMERIC(8, 2) NOT NULL,
"SAI_VALORTOTAL" NUMERIC(15, 2) NOT NULL,
"SAI_PROD_FORN" INTEGER,
CONSTRAINT "SAIDA_PROD_PK" PRIMARY KEY ("SAI_COD_FILIAL", "SAI_COD_PRODUTO")
);
ALTER TABLE "SAIDA_PROD" ADD CONSTRAINT "SAI_COD_PROD" FOREIGN KEY ("SAI_COD_PRODUTO") REFERENCES ESTOQUES ("ESTCODIGO");

E a minha tabela SAIDA FILIAL:


CREATE TABLE "SAIDA_FILIAL"
(
"CODIGOSAIDA" INTEGER NOT NULL,
"CODIGOFILIAL" INTEGER NOT NULL,
"DATASAIDA" TIMESTAMP,
"VALORTOTAL" NUMERIC(15, 2),
PRIMARY KEY ("CODIGOSAIDA")
);
ALTER TABLE "SAIDA_FILIAL" ADD CONSTRAINT "SAIDAFILIAL" FOREIGN KEY ("CODIGOSAIDA") REFERENCES FILIAL ("CODIGO");

Toda vez que chamo o relatório surge o seguinte erro:
Project Estoque.exe raised exception class EIBInterBaseError with message'conversion error from string'

OBS a dois dias atrás estava funcionando normal mostrando todas as filiais e seus produtos, o erro começou depois que eu deletei todos os dados das tabelas pois eu queria entregar o sistema com os registros limpos.

A 1º vez que deu este erro consegui resolver mais criando um novo form com novos componentes, mais toda vez que eu apago os registros das tabelas e vou colocar novos registros acontece este erro na hora de mostrar o formulario.

Preciso de ajuda desde ja agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Toda vez que chamo o relatório surge o seguinte erro:

Project Estoque.exe raised exception class EIBInterBaseError with message'conversion error from string'

 

OBS a dois dias atrás estava funcionando normal mostrando todas as filiais e seus produtos, o erro começou depois que eu deletei todos os dados das tabelas pois eu queria entregar o sistema com os registros limpos.

 

O parece ser então no tratamento da exceção de quando existem dados na tabela, alguma conversão de tipo errada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depois de algumas horas sem dormir.

Consegui resolver o meu problema da seguinte maneira:

 

 

SQLSAIDAPRODUTOS.Active:=True;
SQLSAIDAPRODUTOS.SQL.Clear;
if SQLSAIDAFILIAL.RecordCount <> 0 then // se ouver algum registro na tabela, vem o relatório de acordo com o que eu pedi abaixo.

SQLSAIDAPRODUTOS.SQL.Add('select * from SAIDA_PROD where SAI_COD_FILIAL='+#39+SQLSAIDAFILIALCODIGOSAIDA.AsString+#39)


else // se nao houver registro ele apenas chamará todos os campos


SQLSAIDAPRODUTOS.SQL.Add('select * from SAIDA_PROD');

SQLSAIDAPRODUTOS.Active:=True;

 

Funcionou beleza.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O meu post anterior ficou muito mal escrito, não dava para entender nada.

 

:(

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.