to Tqz : 你想快吗, 试试我的办法:
http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=96871
和
http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=92343
主要看你做什么用, 我的做法是
case
当大于50条: result := '大于50条';
当小于50条: result := recordcount ;
end ;
在sybase 中试过,
我不知道在MS SQlServer中,有什么不同,
你试一下几个过程:
1.查一个大于200条的查询结果集 ;
query.open ;
last ;
recordcount = ? ; (可能还是-1, 如果是正确的数, 下面的过程对你的帮助就很大).
2. 查一个小于50条的查询结果集 ;
query.open ;
last ;
recordcount = ? ;
3. 查一个大于50条的查询结果集 ;
query.Open ;
moveby(50);
recordcount = ? ;
4. 查一个小于50条的查询结果集 ;
query.open ;
moveby(50);
Recordcount = ?
试试就知道结论了 , (把结果告诉我好吗?)
另外打开一个查询后 ,在另一个tquery中执行
Select @@rowcount 试试;
记得SQl server中的@@rowcount系统变量是反映最新处理行数.