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; […]
近期留言