WinForm+DB架构账号单一在线设计方案

与传统的C/S架构不同,Winform+DB架构只有一个客户端和一个数据库服务器,没有所谓的Server,一般这样的程序设计之初就没有考虑要在中间加个服务器。

 

如何在纯Winform+DB架构下实现单一在线功能呢?

一.在数据库中的某个表中 加一个字段“online”,online=Y”表示已有用户登录,online=N”表示没有用户登录。客户端程序每次登陆时读取字段online信息,只有online=N”才允许登陆,并将online改为“Y”;程序结束时,再将字段改回“N”。(当一个客户端登陆,那么它将霸占这个账号,同时如果客户端非正常退出,那么这个账号就会永远处于“已登陆”状态,无法继续使用。)

二.同样是加了上述字段,但是“N”和“Y”不表示账号“是否被占用”。在客户端增加一个方法,客户端登陆立即修改online字段(假如原来为“N”)为“Y”,用一个变量存储这个“Y”。这个方法每隔一小段时间读取一次字段信息,如果字段信息与本地存储的不同则退出客户端。(读取时间间隔要够短,否则。。。。。)

三.同上,online 存储 随机生成的唯一识别码。

WinForm+DB架构账号单一在线设计方案,布布扣,bubuko.com

WinForm+DB架构账号单一在线设计方案

上一篇:【已解决】xlwings库合并单元格,不报错,不执行


下一篇:Crystal Reports课程01-连接SQL Sever数据库