quickreport预览显示的数据位数与数据库中的数据位数不同是怎么回事 ( 积分: 50 )

  • 主题发起人 主题发起人 jskr
  • 开始时间 开始时间
J

jskr

Unregistered / Unconfirmed
GUEST, unregistred user!
数据库我用的是SQLserver,数据库中的数据类型为float型,最多能有7位小数,数据在存入数据库中之前已经经过处理,只保留4位小数。
我用的quickreport在预览时,显示数据的位数却有9位,这是怎么回事呢?
我是用ADODataset来连接的,数据显示用的是QRDBText
这个问题应该如何解决呢?
 
数据库我用的是SQLserver,数据库中的数据类型为float型,最多能有7位小数,数据在存入数据库中之前已经经过处理,只保留4位小数。
我用的quickreport在预览时,显示数据的位数却有9位,这是怎么回事呢?
我是用ADODataset来连接的,数据显示用的是QRDBText
这个问题应该如何解决呢?
 
在QR中使用QRLabel控件,在其 BeforePrint事件中写入代码,对数据进行处理,一般我是这样做的,想处理到什么样,就是什么样子。
 
最好用numeric,不要用float
 
to renyi,
我是直接把QRDBText指向ADODataset,好像没有把它的值读出来啊,怎么对数据进行操作呢?能不能说详细点?
下面就是我用的连接语句,当然我用的是控件数组。
QRDBTextValueArray[1].DataSet := ADODatasetArray[1];
to fausten:
numeric是什么数据类型,你的意思是把数据库中的数据类型作修改?
 
这是因为数据库中的float的长度没有delphi默认的extended那么长,你改为double就能解决问题了
 
用了numeric解决了问题,确实能够很精确的控制小数位数。谢谢fausten了
还有,请问doglive,我在SQLServer数据库中没有看到有double型啊,好象只有float和real型,你是不是弄错了啊?
 
一般我只用QRLabel,其实的很少用。在BeforePrint事件里写控制代码,方便得很,想如何就如何。
 
to :renyi
能不能给段代码看看,到底是怎样处理的,如果是用format的话,变量是没有定义的,因为连接数据库时只是一个连接指向,并没有把数据读出来啊
 
后退
顶部