如何让TQuery做DataSet的报表打印两个字段计算后的值?(100分)

  • 主题发起人 主题发起人 Cinway
  • 开始时间 开始时间
C

Cinway

Unregistered / Unconfirmed
GUEST, unregistred user!
我用了TQuery来查询,并且打印结果。其中有两个字段,一个是PASSTIME,另外一个是STARTTIME,
PASSTIME表示车辆通过的时间,STARTTIME表示车辆开始出发的时间,
想在报表中打印大堆查询到的记录,有车牌号码,车型,还有车子的通过时间减去出发时间所得的秒数。
用的是Oracle数据库,DATE字段来存放时间。
现在麻烦的是,报表里面那个秒数字段是两个字段计算得来的,怎么办?
而且TQuery的RequestLive属性要设置为True.
 
在TQuery里加计算字段
 
使用如(假设表 calTable 中有 number 类型的字段 x, y)
SELECT (c.x + c.y) as Result, c.z
FROM calTable c
这样的 SQL 语句.
 
Select Field1,Field2,...,Field1+Field2 AS Some_Field
From Table_Name
Where ...
Group By..

用的时候把计算的字段用AS作为新的字段,在报表里面可以直接用这个字段,和原有
表里的字段一样用法
 
那个秒数的字段怎么办?
用什么函数可以从PASSTIME和STARTTIME的计算公式中取得?
而且符合TQuery的要求,就是说不出错?
 
我知道SQL Server在SQL里面的用DATEDIFF ( datepart , startdate , enddate ) 可以
算出来时间差,不太清楚Oracle,你自己找找相关的时间函数把
SQL Server里的用法
select ....,DATEDIFF (second,STARTTIME,PASSTIME) AS TimeElapse from ....
 
使用计算字段就行了,可以用几个计算字段的。
 
如果是使用计算字段,如何进行?
 
后退
顶部