SQL Error: conversion error from string

Delphi

27/02/2014

Boa tarde!
Pessoal estou com um serio problema.
Desenvolvi um pequeno aplicativo para alterar um valor em uma base de dados firebird, Fiz o teste em uma maquina virtual com o windows XP e funciona sem problema.
Porém quando executo no computador que vai usar ele de fato, me apresenta a segunte mensagem de erro.

SQL Error: conversion error from string "~7891266076228". Error Code: -413. Overflow occured during data type conversion.

Segue o codigo do evento.
procedure TFrmPrincipal.btnOkClick(Sender: TObject);
begin
 if (edtCOD_BARRA.Text <> '') and (edtCOD_BARRA.Text <> null) then
  begin
    with dmPrincipal.zqryTB_EST_PRODUTO do
    begin
      Close;
      SQL.Clear;
      SQL.Add('SELECT ID_IDENTIFICADOR, COD_BARRA, QTD_ATUAL');
      SQL.Add('FROM');
      SQL.Add('TB_EST_PRODUTO');
      SQL.Add('WHERE COD_BARRA =' + edtCOD_BARRA.Text);
      Open;
      Refresh
    end;

    with dmPrincipal.zqryPESQUISA do
    begin
      Close;
      SQL.Clear;
      SQL.Add('SELECT COD_BARRA, ID_IDENTIFICADOR, PROD_SERV, QTD_ATUAL');
      SQL.Add('FROM');
      SQL.Add('V_ESTOQUE');
     SQL.Add('WHERE COD_BARRA =' + edtCOD_BARRA.Text);
      Open;
      Refresh
    end;
  end;
  Exit;
end;
Claudio Colares

Claudio Colares

Curtidas 0

Respostas

Ricardo

Ricardo

27/02/2014

Você precisa informar que está passando um valor do tipo string.

Tente dessa forma: SQL.Add('WHERE COD_BARRA = '+ QuoteStr (edtCOD_BARRA.Text)); (Dê espaço depois do " = " )

Outra coisa coloque " ; " depois dos Refresh.

Espero que resolva o seu problema. Qualquer coisa faça contato.

GOSTEI 0
Claudio Colares

Claudio Colares

27/02/2014

Valeu pela atenção, mas o erro continua...
Tratei o erro e descobrir que ele ocorre quando ativo a zquery.

procedure TdmPrincipal.DataModuleCreate(Sender: TObject);
begin

  try
    zconClipp.Connect;
  except
    on E: Exception do
    begin
      ShowMessage('ERRO zconClipp ! Detalhes....' + #13 +
        'e.Message : ' + E.Message + #13 + 'e.ClassName : ' + E.ClassName);
    end;

  end;

  try
    zqryTB_EST_PRODUTO.Active := True;
  except
    on E: Exception do
    begin
      ShowMessage('ERRO zqryTB_EST_PRODUTO ! Detalhes....' + #13 +
        'e.Message : ' + E.Message + #13 + 'e.ClassName : ' + E.ClassName);
    end

  end;

  try
    zqryPESQUISA.Active := True;
  except
    on E: Exception do
    begin
      ShowMessage('ERRO zqryPESQUISA ! Detalhes....' + #13 +
        'e.Message : ' + E.Message + #13 + 'e.ClassName : ' + E.ClassName);
    end

  end;
end;


Agora tenho a seguinte mensagem de retorno:

SQL Error: conversion error from string "~7891266076228". Error Code: -413. Overflow occured during data type conversion.
e.ClassName : EZSQLException
GOSTEI 0
POSTAR