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

概述:
在网上找了一个利用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
  提示:成功登录!(该帐户今天第一次登录)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值