本帖最后由 makoshen 于 2011-04-18 20:05:51 编辑

解决方案 »

  1.   

    if datediff(day,getdate(),@EndTime)<0  -->if datediff(day,getdate(),@EndTime)>=1  
      

  2.   

    select @LoginFlag=isnull(UserID,0) useid不做主键可以为空的?
    if datediff(day,getdate(),@EndTime)<0 ?
    怎么样才算过期?几天?过期的话应该是当前时间-最后次登陆时间@EndTime
    if datediff(day,getdate(),@EndTime)>?吧
      

  3.   

    通过这个存储过程就是希望
    用户密码正确在有效内 返回用户ID号
    用户密码不正确   返回-1
    不在有效期内 返回-2@EndTime 是有效期限  例如数据库里字段EndTime 为 "2011-4-1 00:00:00" 那么这个ID正确登陆就应该返回-2 因为已经逾期18天了 
      

  4.   

    3楼的if datediff(day,getdate(),@EndTime) >= 1   应就可以了,是否没有取到@endtime?
      

  5.   

    发现也返回不了成功的UserID,成功始终是返回1
      

  6.   

    @EndTime 是有效期限 
    例如数据库里字段EndTime 为 "2011-4-1 00:00:00" 
    那么这个ID正确登陆就应该返回-2 因为已经逾期18天了 
    如你所说的话,应该是
     if datediff(day,getdate(),@EndTime)>0 吧 
      

  7.   

    应该是没取到@endtime
    下面的if没用,
    select @LoginFlag=isnull(UserID,0),正好userid=1
    所以返回1
      

  8.   

    数据库里没有userid=1的数据select @LoginFlag=isnull(UserID,0)  这个是什么意思?
      

  9.   

    select @LoginFlag=isnull(UserID,0) 这个是什么意思?
    如果userid为null,返回0
      

  10.   

    请高手仔细看下这个存储过程 有什么写的不对的地方 按照以上修改还是不对
     
    通过这个存储过程就是希望
    用户密码正确在有效内 返回用户ID号
    用户密码不正确 返回-1
    不在有效期内 返回-2@EndTime 是有效期限 例如数据库里字段EndTime 为 "2011-4-1 00:00:00" 那么这个ID正确登陆就应该返回-2 因为已经逾期18天了