SERVER中有字段是numeric.带4位小数的类型.
在DELPHI中如何保存数据
 data1.qsgd.  parameters.parambyname('p0').value:=  ?(xdj.text);
 strtofloat会出错???
???????????如何进行类型转换??

解决方案 »

  1.   

    data1.qsgd.parameters.parambyname('p0').asstring:=trim(xdj.text);
    看看这样会不会错误。
      

  2.   

    data1.qsgd.parameters.parambyname('p0').asFloat:=StrToFloat(xdj.text);
      

  3.   

    data1.qsgd.Close;
     data1.qsgd.SQL.clear;
     data1.qsgd.sql.Add('insert into sgd(申购单号,申购部门,编号,品名,规格,申购数量,单价,用途,申购日期,需用日期,现库存,供应商,币种,类别,单位) values(:p0,:p1,:p2,:p3,:p4,:p5,:p6,:p7,:p8,:p9,:p10,:p11,:p12,:p13,:p14)');
     data1.qsgd.Parameters.parambyname('p0').value:=sgdh.text;
     data1.qsgd.parameters.parambyname('p1').value:=sgbm.text;
     data1.qsgd.parameters.parambyname('p2').value:=bh.text;
     data1.qsgd.parameters.parambyname('p3').value:=mc.text;
     data1.qsgd.parameters.parambyname('p4').value:=gg.text;
     data1.qsgd.parameters.parambyname('p5').asfloat:=strtofloat(sgsl.text);
     data1.qsgd.parameters.parambyname('p6').asFloat:=strtofloat(dj.text);
     data1.qsgd.parameters.parambyname('p7').value:=yt.text;
     data1.qsgd.parameters.parambyname('p8').value:=sgrq.time;
     data1.qsgd.parameters.parambyname('p9').value:=xyrq.time;
     data1.qsgd.parameters.parambyname('p10').value:=xkc.text;
     data1.qsgd.parameters.parambyname('p11').value:=gys.text;
     data1.qsgd.parameters.parambyname('p12').value:=bz.text;
     data1.qsgd.parameters.parambyname('p13').value:=lb.text;
     data1.qsgd.parameters.parambyname('p14').value:=dw.text;
    data1.qsgd.execsql; data1.qsgd.parameters.parambyname('p5').asfloat:=strtofloat(sgsl.text);
     data1.qsgd.parameters.parambyname('p6').asFloat:=strtofloat(dj.text);
    出错
    我的SERVER2000中SGD表中的申购数量和单价字段类型为 numeric 都有4位小数.
    保存时出现类型出错.