储存过程 CREATE PROCEDURE list_news4 ( @pagenow int , @pagesize int , @typeid int , @reture_value int output, @newsCount int output ) asdeclare @intBeginID int declare @intEndID int declare @intPageCount int declare @intRowCount int declare @int_allid intset nocount on select @int_allid = count(*) from news where type1_id=@typeid select @newsCount=@int_allid if (@newsCount = 0) set @reture_value =0 if (@pagenow - 1) * @pagesize > @newsCount set @reture_value =1 set @intRowCount = (@pagenow - 1) * @pagesize + 1set rowcount @intRowCount select @intBeginID = news_id from [news] where type1_id=@typeid order by news_id desc set @intRowCount = @pagenow * @pagesizeset rowcount @intRowCount select @intEndID = news_id from [news] where type1_id=@typeid order by news_id desc set rowcount 0 set nocount offselect news_id,title from news where type1_id=@typeid and news_id between @intEndID and @intBeginID order by news_id desc return(@@rowcount) --select @@rowcount GOASP 调用 if request("page")="" then page=1 else page=cint(request("page")) end if if request("type_id")="" then type_id=7 else type_id=cint(request("type_id")) end if if page<=0 then page=1 pagesize1=100 set cmd=server.CreateObject("adodb.command") cmd.ActiveConnection=users_connstr cmd.CommandType=4 cmd.CommandText="list_news4" cmd.Parameters.Append cmd.CreateParameter("@pagenow",3) cmd.Parameters.Append cmd.CreateParameter("@pagesize",3) cmd.Parameters.Append cmd.CreateParameter("@typeid",3) cmd.Parameters.Append cmd.CreateParameter("@reture_value",3,2) cmd.Parameters.Append cmd.CreateParameter("@newscount",3,2) cmd("@pagenow")=Page cmd("@typeid")=type_id cmd("@pagesize")=pagesize1 set rs=cmd.Execute
CREATE PROCEDURE list_news4
(
@pagenow int ,
@pagesize int ,
@typeid int ,
@reture_value int output,
@newsCount int output
)
asdeclare @intBeginID int
declare @intEndID int
declare @intPageCount int
declare @intRowCount int
declare @int_allid intset nocount on
select @int_allid = count(*) from news where type1_id=@typeid
select @newsCount=@int_allid
if (@newsCount = 0)
set @reture_value =0
if (@pagenow - 1) * @pagesize > @newsCount
set @reture_value =1
set @intRowCount = (@pagenow - 1) * @pagesize + 1set rowcount @intRowCount
select @intBeginID = news_id from [news] where type1_id=@typeid order by news_id desc
set @intRowCount = @pagenow * @pagesizeset rowcount @intRowCount
select @intEndID = news_id from [news] where type1_id=@typeid order by news_id desc
set rowcount 0
set nocount offselect news_id,title from news where type1_id=@typeid and news_id between @intEndID and @intBeginID order by news_id desc
return(@@rowcount)
--select @@rowcount
GOASP 调用
if request("page")="" then page=1 else page=cint(request("page")) end if
if request("type_id")="" then type_id=7 else type_id=cint(request("type_id")) end if
if page<=0 then page=1
pagesize1=100
set cmd=server.CreateObject("adodb.command")
cmd.ActiveConnection=users_connstr
cmd.CommandType=4
cmd.CommandText="list_news4"
cmd.Parameters.Append cmd.CreateParameter("@pagenow",3)
cmd.Parameters.Append cmd.CreateParameter("@pagesize",3)
cmd.Parameters.Append cmd.CreateParameter("@typeid",3)
cmd.Parameters.Append cmd.CreateParameter("@reture_value",3,2)
cmd.Parameters.Append cmd.CreateParameter("@newscount",3,2)
cmd("@pagenow")=Page
cmd("@typeid")=type_id
cmd("@pagesize")=pagesize1
set rs=cmd.Execute
exec proc list_news4 @newsCount output
首先在查询分析器中先调试一下你的存储过程执行是否正确
然后检查一下程序,看了你的程序,建议你用on error resume next先屏蔽执行错误,再判断users_connstr.Errors.Count是否大于0来判断调用是否有错
最后才看cmd.Parameters("@newscount").Value的输出