仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 979|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL网页编程之利用存储历程完成分页打印

[复制链接]
小女巫 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:27:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
提供TCP/IP、ODBC和JDBC等多种数据库连接路径。存储历程|打印|分页

利用存储历程完成分页打印。

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

功效是:
完成把表userinfo里的用户材料按IP网段排序举行分页打印!!
好比172.20.128.XX的IP简称为128网段的用户,
172.20.119.XX的IP简称为119网段的用户,

每一个网段的用户打印在一张A4纸上,
不敷一张的按一张打印,其他的可空出。
年夜于一张小于两张的按二张打印,其他空出.
经由预算一页最多只能打印37行.
思绪是:先把select出的按IP分组的用户信息和盘算出的空格行insert进一个一时表中
然后多此一时表打印就好了。



--起首清空表
--truncatetablesubip

declare@resultint
declare@subipvarchar(20)
declarecur_escrollcursorfor
selectsubstring(ip_address,8,3)fromuserinfogroupbysubstring(ip_address,8,3)

opencur_e--翻开游标
--printaaa+convert(char(13),@@cursor_rows)
fetchfirstfromcur_einto@subip

while(@@fetch_status=0)
begin
--insertintosubip(supip)values(@subip)
insertintosubipselectuserinfo.username,userinfo.catalyst_port,userinfo.home_address,
userinfo.ip_address,userinfo.phone,catalyst.label,fromuserinfo,
catalystwhereuserinfo.catalyst_id=catalyst.idandsubstring(userinfo.ip_address,8,3)=@subip
set@result=@@rowcount
if(@result>37)
begin
while(@result<74)
begin
insertintosubipselect

username=,catalyst_port=,home_address=,ip_address=,phone=,label=,account=
set@result=@result+1
end
end
else
begin
while(@result<37)
begin
insertintosubipselect

username=,catalyst_port=,home_address=,ip_address=,phone=,label=,account=
set@result=@result+1
end
end
--select@@rowcount
fetchnextfromcur_einto@subip
end
closecur_e
deallocatecur_e
对于insert操作,只需要把event_type改成DELETE_ROWS_EVENT;对于delete操作,改成WRITE_ROWS_EVENT
小魔女 该用户已被删除
沙发
发表于 2015-1-19 12:58:11 | 只看该作者
你可以简单地认为适合的就是好,不适合就是不好。
飘灵儿 该用户已被删除
板凳
发表于 2015-1-26 23:07:31 | 只看该作者
语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的!
简单生活 该用户已被删除
地板
发表于 2015-2-4 23:52:05 | 只看该作者
SQL语言是学习所有数据库产品的基础,无论你是做数据库管理还是做数据库开发都是这样。不过具体学习的侧重点要看你将来做哪一块,如果是做数据库管理(DBA),侧重点应该放在SQLServer的系统管理上.
活着的死人 该用户已被删除
5#
发表于 2015-2-10 23:38:46 | 只看该作者
你可以简单地认为适合的就是好,不适合就是不好。
老尸 该用户已被删除
6#
发表于 2015-3-1 17:32:55 | 只看该作者
记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。
admin 该用户已被删除
7#
发表于 2015-3-10 21:35:25 | 只看该作者
以前的DTS轻盈简单。但是现在的SSIS虽然功能强大了很多,但是总是让人感觉太麻烦。看看论坛中询问SSIS的贴子就知道。做的功能太强大了,往往会有很多用户不会用了
变相怪杰 该用户已被删除
8#
发表于 2015-3-17 11:09:33 | 只看该作者
SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。)
小妖女 该用户已被删除
9#
发表于 2015-3-24 08:42:19 | 只看该作者
而SQLServer如果能像Oracle一样可以为登陆分配如:5%的cpu,10%的内存。就可以解决这个漏洞。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:04

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表