小女巫 发表于 2015-1-16 22:27:07

MSSQL网页编程之利用存储历程完成分页打印

提供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的系统管理上.

活着的死人 发表于 2015-2-10 23:38:46

你可以简单地认为适合的就是好,不适合就是不好。

老尸 发表于 2015-3-1 17:32:55

记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。

admin 发表于 2015-3-10 21:35:25

以前的DTS轻盈简单。但是现在的SSIS虽然功能强大了很多,但是总是让人感觉太麻烦。看看论坛中询问SSIS的贴子就知道。做的功能太强大了,往往会有很多用户不会用了

变相怪杰 发表于 2015-3-17 11:09:33

SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。)

小妖女 发表于 2015-3-24 08:42:19

而SQLServer如果能像Oracle一样可以为登陆分配如:5%的cpu,10%的内存。就可以解决这个漏洞。
页: [1]
查看完整版本: MSSQL网页编程之利用存储历程完成分页打印