首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

一个简单的DBgrid和Adoquery的有关问题

2013-12-04 
一个简单的DBgrid和Adoquery的问题问题描述:一个Access数据表里,有teim1 time2 ,box,字段,在DBGrid要计算

一个简单的DBgrid和Adoquery的问题
问题描述:
  一个Access数据表里,有teim1 time2 ,box,字段,在DBGrid要计算出time1和time2的时间差,如图
一个简单的DBgrid和Adoquery的有关问题
我怎么在查询按钮时候,即能显示出这个表里所有字段还可以计算出剩余时间=time1和time2的时间差呢?剩余时间在数据表里没有这个字段的。

procedure TForm1.btn1Click(Sender: TObject);
var

  d: string;
begin
  d := 'd';
  qry1.SQL.Clear;
 
  qry1.SQL.Text:=('SELECT DATEDIFF('+QuotedStr(d)+', starttime, endtime) as  DifTime  FROM TBsupp');
 
  qry1.Open;
  if qry1.SQL.Count>0 then
  begin
    tx1.Text := qry1.Fieldbyname('DifTime').AsString;
    dbgrd1.Columns[4].FieldName:=qry1.Fieldbyname('DifTime').AsString;
    qry1.Next
  end;
end;


请大牛指点一下! DBGRID
[解决办法]
其实,楼主只要把时间差当做一个列来处理就好了。
SQL.Text := 'SELECT A.*, DATEDIFF(''d'', A.STARTTIME, A.ENDTIME) AS DifTime FROM TBsupp';

然后在DBGrid中做好关联,时间差字段的FieldName设置为你的列别名(DifTime)

热点排行