Fórum Numeric Overflow or String Truncation, Me Ajudem! #37427
17/07/2003
0
É o seguinte, tenho o codigo abaixo no OnChange do Edit
procedure TfrmVBalcao.edtCodigoChange(Sender: TObject);
var codigo : Int64;
begin
If edtCodigo.Text <> ´´
Then Begin
IBQuery1.Close;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add(´select * from produtos´);
IBQuery1.SQL.Add(´WHERE CODIGO = :pcodigo or COD_BARRAS = :pcodigo´);
TryStrToInt64(edtCodigo.Text,codigo);
IBQuery1.ParamByName(´pcodigo´).AsCurrency := codigo;
IBQuery1.Open;
End;
end;
Como faço para passar um numero grande, tipo um codigo de barras pro parametro???
na minha tabela esta assim a declaração
CODIGO INTEGER NOT NULL,
COD_BARRAS NUMERIC(14),
Obrigado!
Rafael
Raphal
Curtir tópico
+ 0Posts
17/07/2003
Afarias
|CODIGO INTEGER NOT NULL,
|COD_BARRAS NUMERIC(14),
Campos Integer de 64 bits no IB devem ser declarados como:
NUMERIC(18,0)
Abraço
Gostei + 0
17/07/2003
Raphal
Obrigado pela atenção!
Rafael
Gostei + 0
17/07/2003
Afarias
|a opção de AsInt64 esta desativada na unit IBQuery,
É sim... o IBQuery não suporta INT64 (questões de implementação) ... Para uar Int64 utilize IBDataSet no lugar do IBQuery.
Mas não deixe de usar seu banco no dialeto 3 e criar seus campos como NUMERIC(18,0)
Abraço
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)