• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

使用存储过程实现分页打印

发布: 2007-7-02 11:08 | 作者: admin | 来源: | 查看: 8次 | 进入软件测试论坛讨论

领测软件测试网

使用存储过程实现分页打印。

这个存储过程是一个小区宽带用户管理系统,项目里代码的一部分。

功能是:
实现把表userinfo里的用户资料按IP网段排序进行分页打印!!
比如172.20.128.XX的IP简称为128网段的用户,
172.20.119.XX的IP简称为119网段的用户,

每个网段的用户打印在一张A4纸上,
不足一张的按一张打印,其余的可空出。
大于一张小于两张的按二张打印,其余空出.
经过估算一页最多只能打印37行.
思路是:先把select出的按IP分组的用户信息和计算出的空格行insert进一个临时表中
然后多此临时表打印就行了。

 

--首先清空表
--truncate table subip

declare @result int
declare @subip varchar(20)
declare cur_e scroll cursor for
   select substring(ip_address,8,3) from userinfo group by substring(ip_address,8,3)

open cur_e--打开游标
--print @#aaa@#+convert(char(13),@@cursor_rows)
 fetch first from cur_e into @subip

while(@@fetch_status=0)
 begin
  --insert into subip (supip)values (@subip)
   insert into subip select userinfo.username,userinfo.catalyst_port,userinfo.home_address,
userinfo.ip_address,userinfo.phone,catalyst.label,@#@# from userinfo,
catalyst where userinfo.catalyst_id=catalyst.id and substring(userinfo.ip_address,8,3) =@subip
   set @result=@@rowcount
      if(@result>37)
        begin
          while(@result<74)
           begin
           insert into subip select

username=@#@#,catalyst_port=@#@#,home_address=@#@#,ip_address=@#@#,phone=@#@#,label=@#@#,account=@#@#
           set @result=@result+1
           end
        end
      else
        begin
          while (@result<37)
           begin
            insert into subip select

username=@#@#,catalyst_port=@#@#,home_address=@#@#,ip_address=@#@#,phone=@#@#,label=@#@#,account=@#@#
           set @result=@result+1
           end
         end
   --select @@rowcount
  fetch next from cur_e into @subip
 end
close cur_e
deallocate cur_e

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网