CREATE procedure pagescroll @pagenumber int
as
declare @pagesize int
declare @pagestart intif @pagenumber=null
begin
set @pagenumber=0
end
set @pagesize=5set @pagestart=@pagesize*@pagenumberDECLARE records_cursor SCROLL CURSOR FOR
SELECT * FROM net_webmail ORDER BY date_time
OPEN records_cursor
while @pagesize>0
Begin
FETCH ABSOLUTE @pagestart FROM records_cursor
set @pagestart=@pagestart+1
set @pagesize=@pagesize-1
end
CLOSE records_cursor
DEALLOCATE records_cursor
GO我用这个存储过程来实现分页的功能。参数为要查的页数,每页有5条记录。
但是每个FETCH生成一个记录集。这样的话一次查询就要生成5个记录集。
这个存储过程我在查询分析器中调用成功,调用语句为 exec pagescroll 1 。
但是我在我的程序里想把查询结果显示在DBGrid中,却不行。我用的是TADOQuery执行的,具体如下:
ADOQuery1->SQL->Clear();
ADOQuery1-SQL->Add("exec pagescroll 1");
ADOQuery1->Open();
可是有错误,说是访问adosql.dll出错。
我用TADOCommand对象执行时:
ADOCommand->Text="exec pagescroll 1";
ADOCommand->Execute();
没有出错,但是没有返回的记录集合。请问如何通过使用服务器游标实现我的分页查询,并显示到DBGrid中??通过临时表的方法我也看过,但是每次查询都要生成临时表,系统开销大,不好,所以打算用服务器游标解决问题。
as
declare @pagesize int
declare @pagestart intif @pagenumber=null
begin
set @pagenumber=0
end
set @pagesize=5set @pagestart=@pagesize*@pagenumberDECLARE records_cursor SCROLL CURSOR FOR
SELECT * FROM net_webmail ORDER BY date_time
OPEN records_cursor
while @pagesize>0
Begin
FETCH ABSOLUTE @pagestart FROM records_cursor
set @pagestart=@pagestart+1
set @pagesize=@pagesize-1
end
CLOSE records_cursor
DEALLOCATE records_cursor
GO我用这个存储过程来实现分页的功能。参数为要查的页数,每页有5条记录。
但是每个FETCH生成一个记录集。这样的话一次查询就要生成5个记录集。
这个存储过程我在查询分析器中调用成功,调用语句为 exec pagescroll 1 。
但是我在我的程序里想把查询结果显示在DBGrid中,却不行。我用的是TADOQuery执行的,具体如下:
ADOQuery1->SQL->Clear();
ADOQuery1-SQL->Add("exec pagescroll 1");
ADOQuery1->Open();
可是有错误,说是访问adosql.dll出错。
我用TADOCommand对象执行时:
ADOCommand->Text="exec pagescroll 1";
ADOCommand->Execute();
没有出错,但是没有返回的记录集合。请问如何通过使用服务器游标实现我的分页查询,并显示到DBGrid中??通过临时表的方法我也看过,但是每次查询都要生成临时表,系统开销大,不好,所以打算用服务器游标解决问题。
解决方案 »
- 急死个人,进来看看吧,webbrowser
- vs2008的链接问题
- 线程中使用ListCtrl SetItemText后不显示
- ★★★关于内存共享传递文件的问题!!★★★
- 编译STL时遇到这样的错误,该如何解决?
- 怎样将htm文件以及所需的资源如图片全部编译到dll动态连接库中。就像Mcafee界面和系统shdoclc.dll一样
- 怎么跟据索引把ComboBox中的字符串显示到Edit中
- ONLINE FOR HELP:在局誉网中,马上给分!!!
- 增加一个对话框时,总会提醒你用一个类与之关联,其真正的含义是什么呢?请大伙赐教
- CreateEx创建窗口的问题
- 怎么样动态建立MENU菜单,建立好了MENUITEM后怎么将它MAP他的ON_CANNAND事件了?
- 大学到底给了我们什么?各位谈谈自己的看法吧
http://www.codeproject.com/useritems/genericdbcall.asp
http://www.codeproject.com/database/mssqltutorial.asp
http://www.codeproject.com/database/spcw.asp