廣告

2021 年 5 月
 12
3456789
10111213141516
17181920212223
24252627282930
31  

彙整

DELPHI 7 使用ADO元件寫入資料庫強制四捨五入小數到第四位問題

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;   […]