• 主页
  • ASP
  • .NET Framework
  • Web Services
  • VB
  • VC
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • LINQ
zjhzzc001 2005年03月24日
如何书写这句存储过程?aspnetpager中的.
ALTER procedure GsjyShowDGProcessor
(@where varchar(100),
@pagesize int,
@pageindex int,
@docount bit)
as
set nocount on
declare @RecordCount int
select @RecordCount=count (id) from news
if(@docount=1)
select @RecordCount
else
begin
if(@pageindex=1)
exec('select top '+@pagesize+'* from news'+@where+' order by indextime desc')
else
begin
declare @PageUpperBound int
declare @endrecords int
set @PageUpperBound=@pageindex*@pagesize
if(@PageUpperBound-@pagesize)>=@RecordCount
select ''
else if(@RecordCount-(@PageUpperBound-@pagesize)<=@pagesize)
begin
set @endrecords=@RecordCount-(@PageUpperBound-@pagesize)
exec('select * from (select top '+@endrecords+' * from news'+@where+' order by indextime)A order by indextime desc')
end
else
exec('select * from (select top '+@pagesize+'* from (select top '+@PageUpperBound+' * from news'+@where+' order by indextime desc)A order by indextime)B order by indextime desc')
end
end
set nocount off


我的@where参数是如"where a='1'and b='2' and c='3' ....."程序中生成的动态语句.
如何改写select @RecordCount=count (id) from news
使RecordCount 的值是条件中的记录总数,而不是所有的记录数.
这个@where参数该如何添上?
谢谢.
...全文
84 点赞 收藏 5
写回复
5 条回复

还没有回复,快来抢沙发~

发动态
发帖子
.NET技术社区
创建于2007-09-28

4.8w+

社区成员

66.8w+

社区内容

.NET技术交流专区
社区公告
暂无公告