设置了的啊 
cmd.Parameters.Append cmd.CreateParameter("@newscount",3,2)

解决方案 »

  1.   

    储存过程
    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
      

  2.   

    用 OUTPUT
    exec proc list_news4 @newsCount output
      

  3.   

    注意一下cmd.Parameters("@newscount").Value而不是cmd.Parameters("@newsCount") 调试时
    首先在查询分析器中先调试一下你的存储过程执行是否正确
    然后检查一下程序,看了你的程序,建议你用on error resume next先屏蔽执行错误,再判断users_connstr.Errors.Count是否大于0来判断调用是否有错
    最后才看cmd.Parameters("@newscount").Value的输出
      

  4.   

    谢谢 储存过程执行正确 查询分析器里 也能看到newscount这个输出参数的值  users_connstr调用也是正确的 新闻内容都能正常显示 唯一就是新闻的总数 这个参数 无法获得 。cmd.Parameters("@newscount").Value 也无效果 。 还可能有别的原因么?  news的表 里仅有 news_id  和title type1_id 三个字段 。