存储过程 ACCOUNT_LOGIN
/********************** Modify By Jianweis2008-5-11 ************************//*** 增加踢号 ***/
/***未注册提示***/
/***点数不够***/CREATE PROCEDURE ACCOUNT_LOGIN
@AccountID varchar(21),
@Password varchar(13),
@nRet smallint OUTPUT
AS
DECLARE @Nation tinyint, @CharNum smallint,@Days smallint
SET @Nation = 0
SET @CharNum = 0
SET @Days = 0
DECLARE @pwd varchar(13)
SET @pwd = null
SELECT @nRet = count(*) FROM . WHERE strAccountID =@AccountID
IF @nRet < 1
BEGIN
SET @nRet = 2
RETURN
END
SELECT @pwd = strPasswd , @Days = idays FROM . WHERE strAccountID = @AccountID
IF@Days < 1
BEGIN
SET @nRet = 11
RETURN
END
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 @nRet = count(*) FROM . WHEREstrAccountID =@AccountID
IF @nRet > 0
BEGIN
SET @nRet = 5
RETURN
END
SELECT @Nation = bNation, @CharNum = bCharNum FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID
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 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 . WHERE strAccountID = @AccountIDandidays>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 = @AccountIDAndbCharNum<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 我发的那段储存过程``经测试后是无法控制同1ID选择2种族的```So Sorry every body``
页:
[1]