在多层应用中,从DataSetProvider的数据集转化成 olevariant 类型后,以前数据类型的第5位小数会丢失掉,只能保留4位。
  
      dataSetProvider.DataSet :=aDataSet //TADODataset ,这时候还是5位小数      vData:=dataSetProvider.Data ; // vData Olevariant 已经是4位小数了。怎么办?好像日期类型的最后秒转化后也是丢失!      

解决方案 »

  1.   

    在TADODataset的SQL语句中、把数据类型等用函数全部转换成字符类型。
      

  2.   

    先前想过转换成字符类型后再传到客户端。
    但是比较麻烦,必须要把转换后的数据先放到一个临时表中,再传到客户端。否则客户端不能更改转化的字段。如果转换到临时表中保存的时候要自己写代码控制更新的sql语句。总之不太方便。delphi 怎么这么一个问题都没有解决好,真是怪事?!