搜索
 找回密码
 加入

存储过程 ACCOUNT_LOGIN

jianweis 2008-5-11 22:27:38 1413
/********************** Modify By Jianweis  2008-5-11 ************************/
/*** 增加踢号 ***/
/***未注册提示***/
/***点数不够***/
  1. CREATE PROCEDURE ACCOUNT_LOGIN
  2. @AccountID        varchar(21),
  3. @Password        varchar(13),
  4. @nRet                smallint        OUTPUT
  5. AS
  6. DECLARE @Nation tinyint, @CharNum smallint,@Days smallint
  7. SET @Nation = 0
  8. SET @CharNum = 0
  9. SET @Days = 0
  10. DECLARE @pwd varchar(13)
  11. SET @pwd = null


  12. SELECT @nRet = count(*) FROM [dbo].[TB_USER] WHERE strAccountID =@AccountID

  13. IF   @nRet < 1
  14. BEGIN
  15.           SET @nRet = 2
  16.           RETURN
  17. END

  18. SELECT @pwd = strPasswd , @Days = idays FROM [dbo].[TB_USER] WHERE strAccountID = @AccountID

  19. IF  @Days < 1
  20. BEGIN
  21.        SET @nRet = 11
  22.        RETURN
  23. END

  24. IF @pwd IS null
  25. BEGIN
  26.         --SET @nRet = 0
  27.              SET @nRet = 4
  28.         RETURN
  29. END
  30. ELSE IF @pwd <> @Password
  31. BEGIN
  32.         --SET @nRet = 0
  33.              SET @nRet = 3
  34.         RETURN
  35. END


  36. SELECT @nRet = count(*) FROM [dbo].[CURRENTUSER] WHERE  strAccountID =@AccountID
  37. IF @nRet > 0
  38. BEGIN
  39.          SET @nRet = 5
  40.          RETURN
  41. END

  42. SELECT @Nation = bNation, @CharNum = bCharNum FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID
  43. IF @@ROWCOUNT = 0
  44. BEGIN
  45.         SET @nRet = 1
  46.         RETURN
  47. END
  48. IF @CharNum = 0
  49. BEGIN
  50.         SET @nRet = 1
  51.         RETURN
  52. END
  53. ELSE
  54. BEGIN
  55.           SET @nRet = 1
  56.           RETURN
  57. END
  58. GO
复制代码

评分

1

查看全部评分

2 回复

被判无妻
2008-5-11 21:23:45
点击查看详情
CREATE PROCEDURE ACCOUNT_LOGIN
@AccountID        varchar(21),
@Password        varchar(13),
@nRet                smallint        OUTPUT
AS
DECLARE @Nation tinyint, @CharNum smallint
SET @Nation = 0
SET @CharNum = 0
DECLARE @pwd varchar(13)
SET @pwd = null
SELECT @pwd = strPasswd FROM [dbo].[TB_USER] WHERE strAccountID = @AccountID  and  idays>0
IF @pwd IS null
BEGIN
        --SET @nRet = 0
             SET @nRet = 4
        RETURN
END
ELSE IF @pwd <> @Password
BEGIN
        --SET @nRet = 0
             SET @nRet = 3
        RETURN
END
SELECT @Nation = bNation, @CharNum = bCharNum FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID  And  bCharNum<1
IF @@ROWCOUNT = 0
BEGIN
        SET @nRet = 1
        RETURN
END
IF @CharNum = 0
BEGIN
        SET @nRet = 1
        RETURN
END
ELSE
BEGIN
SET @nRet = 1

        RETURN
END
GO
被判无妻
2008-5-11 22:27:38
我发的那段储存过程``经测试后是无法控制同1ID选择2种族的```So Sorry every body``
高级模式
游客