Delphi在C/S架构项目中考虑到SQLServer客户端断电的用户登录问题
2012-10-03 13:52
375 查看
在C/S架构项目中,往往限制同一时间一个账号只能登录一次,考虑到客户端突然断电的情况。
登录前要验证临时表是否存在,登录后要创建临时表。
登录前要验证临时表是否存在,登录后要创建临时表。
// 注册已经登录的账户 function TfrmLogin.RegUserLogined(AdoConn: TADOConnection; AUserID: string): Boolean; var Qry: TADOQuery; SQLStr: string; begin // try QryCreate(Qry,AdoConn); try SQLStr := Format('CREATE TABLE ##XXX%s(%s INT); ', [AUserID, AUserID]); Qry.SQL.Text := SQLStr; Qry.ExecSQL; finally Qry.Free; end; except Result := False; Exit; end; Result := True; end; // 判断账户是否已经登录 function TfrmLogin.ThisUserHadLogined(AdoConn: TADOConnection; AUserID: string): Boolean; var Qry: TADOQuery; SQLStr: string; begin // try QryCreate(Qry,AdoConn); try SQLStr := Format('SELECT OBJECT_ID(N''tempdb..##XXX%s'', N''U'') AS TabID', [AUserID]); Qry.SQL.Text := SQLStr; Qry.Open; result := not Qry.FieldByName('TabID').IsNull; finally Qry.Free; end; except Result := False; Exit; end; end; procedure TfrmLogin.QryCreate(var aQuery: TADOQuery; Connecion: TAdoConnection); begin aQuery := TADOQuery.create(nil); aQuery.Connection := Connecion; end;
相关文章推荐
- java在线聊天项目1.3版设计好友列表框功能补充,因只要用户登录就发送一串新列表,导致不同客户端好友列表不同问题
- 项目中的防止同用户异地登录问题
- 用户手机客户端登录Login页面跳转到手机MobileLogin页面问题总结
- CAS客户端.NET集成单点登录获取不到登录用户信息的问题
- [Java] - 项目中的防止同用户异地登录问题
- java web项目中的拦截未登录用户的问题
- Android项目之无线点餐(2)--用户登录的客户端和服务器端实现
- mysql root 用户无法远程登陆问题---客户端workbench用root帐号无法登录
- mysql root 用户无法远程登陆问题---客户端workbench用root帐号无法登录
- 项目中的防止同用户异地登录问题
- 在安装discuz!nt时,数据库用户登录失败的问题时,sql server 2008 数据库更改登录模式(sql server 2008 混合登陆中SqlServer身份验证用户名密码)
- 关于用户登录的记住密码实现思路(考虑到安全问题)
- delphi新建用户与用户在登录界面显示问题
- 轻松解决asp.net用户ASPNET登录失败问题的方法分享
- 从BeejiveIM 的iPhone的Push(推送通知),用户如何完全授权它登录,是否涉及安全问题?
- 禅道系统迁移到linux平台 用户无法登录问题的解决
- Win10 多用户远程登录成功实然无法远程的问题
- 客户端登录界面,根据输入框的弹出改变界面样式,解决键盘挡住输入框的问题
- asp.net问题:用户"sa"登录失败 新解决方案
- sqlserver删除用户或登录