关于提交查询语句的问题!大家进来看看!

yundou 2005-02-25 11:01:16
AdoQuery1.SQL.Clear;
AdoQuery1.SQL.Add('declare @sqlstr nvarchar(4000),');
AdoQuery1.SQL.Add('@pagecount int,@pagesize int');
AdoQuery1.SQL.Add('');
AdoQuery1.SQL.Add('select @pagecount=1,@pagesize=25,');
AdoQuery1.SQL.Add('@sqlstr='+''''+'Select * from Table1 where GameName like '''+''''+'%'+Trim(Edit1.Text)

+'%'+''''+''''+' order by GetDate desc'+'''');
AdoQuery1.SQL.Add('');
AdoQuery1.SQL.Add('set nocount on');
AdoQuery1.SQL.Add('declare @P1 int,');
AdoQuery1.SQL.Add('@rowcount int');
AdoQuery1.SQL.Add('');
AdoQuery1.SQL.Add('exec sp_cursoropen @P1 output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount output');
AdoQuery1.SQL.Add('select @rowcount as 总行数,ceiling(1.0*@rowcount/@pagesize) as 页数,@pagecount as 当前页');
AdoQuery1.SQL.Add('set @pagecount=(@pagecount-1)*@pagesize+1');
AdoQuery1.SQL.Add('exec sp_cursorfetch @P1,16,@pagecount,@pagesize ');
AdoQuery1.SQL.Add('exec sp_cursorclose @P1');
AdoQuery1.Open;


程序运行时查询不到任何记录, 但是单纯在查询分析器里运行SQL语句,就可以正常查询语句!
...全文
90 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
DebugXP 2005-02-25
  • 打赏
  • 举报
回复
为什么不写成存储过程呢?
pchaos 2005-02-25
  • 打赏
  • 举报
回复
应该是最后两句的问题
AdoQuery1.SQL.Add('exec sp_cursorfetch @P1,16,@pagecount,@pagesize ');
AdoQuery1.SQL.Add('exec sp_cursorclose @P1');
后面变成delhpi的参数,然后AdoQuery1.excute就可以了
你试试看

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧