TQuery批量處理一問?(100分)

  • 主题发起人 主题发起人 newsailor
  • 开始时间 开始时间
N

newsailor

Unregistered / Unconfirmed
GUEST, unregistred user!
請教:我用TQuery控件,采用批量處理的方式一次執行多條sql語句,
我能否計算出每一語句執行的時間嗎? 謝謝!
 
date1:=now;
//在这里执行多条SQL语句,必要时应统计语句条数
date2:=now;
date3:=date2-date1; //日期时间型也是按实数型保存的,整数部分表示日期部分,
//小数部分表示时间部分。所有适用于实数的计算都同样适用于日期时间型数据。

 
To:HunterTeam
我是要計算並得到每一語句的執行時間啊.

如:
sql.close;sql.clear;
sql.add('select * from table1'); //執行時間 s1=0.001秒
sql.add('select * from table2'); //執行時間 s2=0.002秒
sql.add('Update table3 set field1=100'); //執行時間 s3=0.012秒
..............
..............
..............
批量執行TQuery后,不但得到了每一條語句的執行時間s1,s2,s3,.....,總時間也可以輕而易舉
的得到s=s1+s2+s3+...,我現在最重要的是得到每一條語句的執行時間啊.
不知道有沒有方法?請賜教!
 
仍然是这种办法啊
sql.close;sql.clear;
date1:=now;
sql.add('select * from table1');
date2:=now-date1; //计算執行時間date2
s1:=date2*24*60*60 //将时间差转为秒数,s1应为real型
date1:=now;
sql.add('select * from table2');
//执行上述相同步骤,据以计算s2
sql.add('Update table3 set field1=100');
//同上
 
To:HunterTeam
我這里說的TQuery是批量處理方式的,也就是說事先已經把每一條語句已經
寫到sql.text里面去了,再批量一次執行,而我又想知道這個批里面每一條語句
的執行時間;
而不是單獨對一條語句執行后,再重新添加語句,再執行,...再加語句,再執行,
可能我的想法是不可行的
要是我的想法能實現的話,那真太好了
 
您覺得有沒有好的方法呢?還望大蝦賜教啊!
 
是这样啊,那我也没辙了呀。
 
为什么不用SQLmonitor看看呢,这是很经典的DELPHI自带工具
 
呵呵,用Query批量處理多條sql語句,在它传出SQL语句后,服务端把它当成一个事务来执行的,
而且Query批量處理多條sql語句也是有条件的,上面的例子就不会被正确执行,想让Query
把多条SQL语句执行的时间传回来, 难啊 :(
 
象你所说“我這里說的TQuery是批量處理方式的,也就是說事先已經把每一條語句已經
寫到sql.text里面去了,再批量一次執行,而我又想知道這個批里面每一條語句
的執行時間;”是不可能实现的。
 
TO:liuxudong
我的TADOQuery.sql.text中可能存放了几十條sql語句,每一條都完成
一定的用戶功能,然后把每一條語句執行這個時間(即完成這個用戶功能的時間)
呈現給用戶(特殊的要求),并不是想要在調試的時候得到該條語句的執行
時間,所以即使我用SQLmonitor跟蹤得到了時間,可能無法讓用戶知道啊![:(]
 
可能真的是沒有轍了,55555.....[:(][?]
 
再等會儿就要結貼了,不知道還有沒有哪位大蝦有高見?
 
delphi中TAdoQuery的NextRecordSet怎么用?
 
請關注[?]
 
多人接受答案了。
 
后退
顶部