Numeric Overflow or String Truncation, Me Ajudem!
Olá pessoal
É 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
É 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
Curtidas 0
Respostas
Afarias
17/07/2003
|na minha tabela esta assim a declaração
|CODIGO INTEGER NOT NULL,
|COD_BARRAS NUMERIC(14),
Campos Integer de 64 bits no IB devem ser declarados como:
NUMERIC(18,0)
Abraço
|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
Raphal
17/07/2003
O problema esta na hora que o valor vai ser passado para o parametro, a opção de AsInt64 esta desativada na unit IBQuery, eu queria saber como posso fazer pra passar tal valor para o parametro.
Obrigado pela atenção!
Rafael
Obrigado pela atenção!
Rafael
GOSTEI 0
Afarias
17/07/2003
|O problema esta na hora que o valor vai ser passado para o parametro,
|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
|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