手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Mssql>列表

利用SQLServer的全局临时表防止用户重复登录

来源:互联网 作者:west263.com 时间:2008-04-02
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

在我们研发商务软件的时候,常常会碰到这样的一个问题:怎样防止用户重复登录我们的系统?特别是对于银行或是财务部门,更是要限制用户以其工号身份多次登入。www.c hinaitpower.coml0XCFz

可能会有人说在用户信息表中加一字段判断用户工号登录的状态,登录后写1,退出时写0,且登录时判断其标志位是否为1,如是则不让该用户工号登录。但是这样那势必会带来新的问题:如发生象断电之类不可预知的现象,系统是非正常退出,无法将标志位置为0,那么下次以该用户工号登录则不可登入,这该怎么办呢?www.c hinaitpower.coml0XCFz

或许我们能够换一下思路:有什么东西是在connection断开后能够被系统自动回收的呢?对了,SQL Server的临时表具备这个特性!但是我们这里的这种情况不能用局部临时表,因为局部临时表对于每一个connection来说都是个单独的对象,因此只能用全局临时表来达到我们的目的。www.c hinaitpower.coml0XCFz

好了,情况已明朗话了,我们能够写一个象下面这样简单的存储过程:www.c hinaitpower.coml0XCFz

www.c hinaitpower.coml0XCFz

create procedure gp_findtemptable -- 2001/10/26 21:36 zhuzhichao in nanjingwww.c hinaitpower.coml0XCFz

/* 寻找以操作员工号命名的全局临时表www.c hinaitpower.coml0XCFz

* 如无则将out参数置为0并创建该表,如有则将out参数置为1 www.c hinaitpower.coml0XCFz

* connection断开连接后,全局临时表会被

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!