• 网站首页
  • 涉税提问
  • 财税法规
  • 税收筹划
  • 优惠政策
  • 案例解析
  • 培训中心
  • 财富工具
  • 房产专题
  • 会计范文
中财税帮助

去向导航

  • 常见问题
  • 费用核算
  • 负债核算
  • 会计报表
  • 利润核算
  • 收入核算
  • 外汇核算
  • 资本核算
  • 资产核算
  • 更多...

常用分类

  • 浏览器
  • Windows
  • 音乐/电影
  • 网站开发
  • 游戏
  • 办公自动化

中财税帮助系统

2008-10-7

欢迎您登陆并使用中国财税咨询中心为您免费提供的资料,交流,学习为一体的平台!

如果您在使用中遇到什么问题,请您不要吝啬,一定要写信给我们!!

Email:Shellapi@126.com 期待您的来信,或指导批语!

帮助内难免有收集的资料,如果侵犯了您的仅力,请您来信告知,我们马上删除或更新处理!

文章搜索--请输入关键词:

搞定了:))一个分页存储过程:))

更多2008-10-7 日更新内容!
    /*****听以前的同事说asp页面上的分页太慢了(如果数据多了),
    就想了这么个笨办法。有些地方还要考虑----比如select top 22 * from cat_list
    where T_id not in (select T_id from #change)是否有效率问题;数据不能重复等等
    不过灵活性挺好。希望各位高手再给帮忙改正;多谢chair3的帮助---这个存储过程还可以在加入几个变量,随便大家改吧:)*****/


    CREATE  proc page
    @pagenum int
    as
    SET NOCOUNT ON             /*-----这一句很重要哦:)),不然它只会认 insert #change......这个数据集:))*/
    declare @sql nvarchar(500)  --声明动态sql执行语句
    declare @pagecount int      --当前页数

    --取得当前数据库的记录总数
    declare @row_num int  
    begin      
    select @row_num=count(*) from cat_list

    --创建临时表,作为数据过滤
    create table #change (T_id int)

    --判断当前页数
    if @row_num>6  --大于页面显示记录数,则分页
    begin
    set  @row_num=@pagenum*6
      
      if @row_num=6
    select top 6 * from cat_list
    else
    begin
    set  @row_num=(@pagenum-1)*6
    set @pagecount=@row_num
    set @sql=N'insert #change (T_id) select top '+cast(@pagecount as char(100))+' T_id from cat_list where T_id not in (select T_id from #change)'
    exec sp_executesql @sql
    select top 6 * from cat_list where T_id not in (select T_id from #change)
      end
    end
    else    --只现实全部的数据
    select * from cat_list
    end
    GO



    客户端这样调用:
    <!--#include file="conn.asp"-->
    <!--#include file="adovbs.inc"-->
    <%    dim T_com
                                            dim T_rs'declare datamanage recordset
                                            

    dim parameters
    set T_com=server.createobject("adodb.command")
    T_com.ActiveConnection=conn
    T_com.CommandText="page"
    T_com.CommandType=adCmdStoredProc
    'T_com.Prepared=true
    set parameters=T_com.CreateParameter("@pagenum",adInteger,adParamInput)
    T_com.Parameters.Append parameters
    dim page
    page=request.QueryString("page")
        if page="" then
            page=1
        end if
    T_com("@pagenum")=page
    set T_rs=T_com.Execute

    do while not T_rs.eof
    response.Write T_rs("c_name")
    T_rs.movenext
    loop
    %>
    <a href="a.asp?page=<%=page+1%>">ddddd</a>
Site designed by 中国财税咨询中心