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

parameters.parambyname('tmpprice').datatype:=ftFloat;   <==寫入資料前先將欄位設定成 Float 型態即可解決此問題。

參考:http://jzinfo.javaeye.com/blog/432853

  1. var   
  2.     adoquery1:Tadoquery;   
  3. begin   
  4.     adoquery1:=Tadoquery.create(nil);   
  5.     try   
  6.        if not DM.adonconnection1.connected then   
  7.            DM.adoconnection1.connected:=true;   
  8.        adoquery1.connection:=DM.adoconnection1;   
  9.        adoquery1.enableBCD:=False;       //禁用bcd类型   
  10.        with adoquery1 do   
  11.        begin   
  12.            close;   
  13.            sql.clear;   
  14.            sql.add('insert into materialInfo values(:tmppno,:tmpvendor,:tmpdesc,:tmpprice)');   
  15.            parameters.parambyname('tmppno').value:=trim(edit1.text);   
  16.            parameters.parambyname('tmpvendor').value:=trim(edit2.text);   
  17.            parameters.parambyname('tmpdesc').value:=trim(edit3.text);   
  18.            parameters.parambyname('tmpprice').datatype:=ftFloat;       //设置下数据类型   
  19.            parameters.parambyname('tmpprice').value:=trim(edit4.text);   
  20.            execsql;   
  21.        end;   
  22.     finally   
  23.         adoquery1.free;   
  24.     end;   
  25. end; 

No Money No Hone 發表在 痞客邦 PIXNET 留言(0) 人氣()