利用SQL全局临时表防止登录

来源:互联网 发布:想做淘宝客服怎么找 编辑:程序博客网 时间:2024/04/30 12:01
概述:
在网上找了一个利用SQL全局临时表防止登录问题,改好了存储过程和前台代码程序。经调试存储过程和前台程序都正确。但结果输出值在查析分析器里边正确,在网站前台页面程序调用时输出值始终为:0,达不到控制用户登录的目的。
 
SQL存储过程如下:
CREATE procedure sp_checklogin 
@userid  varchar(6) ,          -- 操作帐号
@flag  int out                 -- 输出参数 0:没有登录 1:已经登录
as
declare @sql nvarchar(100)
IF  object_id('tempdb.dbo.##'+@userid) is null
     begin
     set @sql='create table ##'+@userid+'( userid varchar(6))'
     exec(@sql);
     set @flag = 0
     end
Else
set @flag = 1
GO

查询分析器里边调用:
  declare @userid varchar(6)             
  declare @Flag INT    
  exec sp_checklogin 'No001',@Flag output
  select @Flag output

  第一次执行结果:0 
  且tempdb下面出现了创建了全局临时表##No001,正确无误。

  第二次执行结果:1
  且tempdb下面全局临时表##No001还在,没有被销毁,也是正确的就是我想要的结果。

前台执行:

  第一次执行结果:

  执行本程序后,存储过程返回值Flag:0
  提示:成功登录!(该帐户今天第一次登录)


  第二次执行结果:

  执行本程序后,存储过程返回值Flag:0
  提示:成功登录!(该帐户今天第一次登录)
原创粉丝点击