|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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 |
|