DELPHI 7 使用ADO元件寫入資料庫強制四捨五入小數到第四位問題
parameters.parambyname(‘tmpprice’).datatype:=ftFloat; <==寫入資料前先將欄位設定成 Float 型態即可解決此問題。
參考:http://jzinfo.javaeye.com/blog/432853
- var
- adoquery1:Tadoquery;
- begin
- adoquery1:=Tadoquery.create(nil);
- try
- if not DM.adonconnection1.connected then
- DM.adoconnection1.connected:=true;
- adoquery1.connection:=DM.adoconnection1;
- adoquery1.enableBCD:=False; //禁用bcd类型
- with adoquery1 do
- begin
- close;
- sql.clear;
- sql.add(‘insert into materialInfo values(:tmppno,:tmpvendor,:tmpdesc,:tmpprice)’);
- parameters.parambyname(‘tmppno’).value:=trim(edit1.text);
- parameters.parambyname(‘tmpvendor’).value:=trim(edit2.text);
- parameters.parambyname(‘tmpdesc’).value:=trim(edit3.text);
- parameters.parambyname(‘tmpprice’).datatype:=ftFloat; //设置下数据类型
- parameters.parambyname(‘tmpprice’).value:=trim(edit4.text);
- execsql;
- end;
- finally
- adoquery1.free;
- end;
- end;
近期留言