Fórum SP com FireBird..Float é gravado arredondado. O q há d erro? #322372
29/05/2006
0
Amigos tenho uma SP:
e uma função para gravar os dados no banco:
o problema ocorre qd digito um valor quebrado, como 4,6 , no campo depreciacao.
O certo seria gravar 4,6 e naum 5 como ele está fazendo.
Já tentei d tudo e naum consegui resolver
Utilizo o dbExpress para fazer a conexão com o banco d dados
CREATE PROCEDURE SP_PATRIMONIOS_TIPO_INS ( ID_PATRIMONIO_TIPO INTEGER, TIPO VARCHAR(40), DEPRECIACAO DECIMAL(3,1)) AS begin insert into patrimonios_tipo(id_patrimonio_tipo, tipo, depreciacao) values (:id_patrimonio_tipo, :tipo, :depreciacao); end
e uma função para gravar os dados no banco:
Case strOper of ´I´: begin with spInserir do begin Close; ParamByName(´id_patrimonio_tipo´).Value := dm.GetValorCodigo(´id_patrimonio_tipo´); ParamByName(´tipo´).Value := edtTipo.Text; ParamByName(´depreciacao´).Value := StrToFloat(edtDepreciacao.Text); Try ExecProc; Except on E : Exception do begin MessageBox(Handle, PChar(E), ´´, MB_ICONEXCLAMATION+MB_OK); Abort; end; End; end; end; ´A´: begin with spAlterar do begin Close; ParamByName(´id_patrimonio_tipo´).Value := StrToInt(edtCodigo.Text); ParamByName(´tipo´).Value := edtTipo.Text; Try ExecProc; Except on E : Exception do begin MessageBox(Handle, PChar(E), ´´, MB_ICONEXCLAMATION+MB_OK); Abort; end; End; end; end; end;
o problema ocorre qd digito um valor quebrado, como 4,6 , no campo depreciacao.
O certo seria gravar 4,6 e naum 5 como ele está fazendo.
Já tentei d tudo e naum consegui resolver
Utilizo o dbExpress para fazer a conexão com o banco d dados
Orlando Frade
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)