MSSQL Managment Studio öffnen und neue Abfrage machen:
Code:
USE [ACCOUNT_DBF]
GO
/****** Object: StoredProcedure [dbo].[LOGIN_STR] Script Date: 05/01/2010 10:14:07 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[LOGIN_STR]
@iaccount VARCHAR(32),
@ipassword char(32)
-- Ver. 14 PCZoneIP
,@i_IPAddress varchar(15) = '0.0.0.0'
/***********************************************************************************
***********************************************************************************
***********************************************************************************
***********************************************************************************
ACCOUNT_STR 스토어드
작성자 : 최석준
작성일 : 2004.01.18
ex) ACCOUNT_STR 'beat','1234'
SELECT * FROM ACCOUNT_TBL_DETAIL WHERE account='aeonsoft'
***********************************************************************************
***********************************************************************************
***********************************************************************************
***********************************************************************************/
AS
set nocount on
-- Ver 14. PCZoneIP_Check
declare @o_Grade tinyint
exec dbo.USP_PCZoneIP_Check @i_IPAddress, @o_Grade output
IF EXISTS(SELECT a.account FROM ACCOUNT_TBL a,ACCOUNT_TBL_DETAIL b
WHERE a.account = b.account AND a.account = @iaccount ) -- AND gamecode = 'A000')
BEGIN
DECLARE @curDate char(8)
IF EXISTS(SELECT account FROM ACCOUNT_TBL
WHERE account = @iaccount AND password = @ipassword) BEGIN
SELECT @curDate=CONVERT(CHAR(8), getdate(), 112)
SELECT fError=CASE
-- WHEN session<>@isession OR sessionExpireDt<getdate() THEN '91'
WHEN BlockTime>=@curDate THEN '9'
ELSE '0' END,
fText= CASE
-- WHEN session<>@isession OR sessionExpireDt<getdate() THEN 'Session Expired'
WHEN BlockTime>=@curDate THEN 'Block' ELSE 'OK' END,
fCheck=tester,
f18='1'
-- Ver14. PCZoneIP
,fPCZone = @o_Grade
FROM ACCOUNT_TBL a INNER JOIN ACCOUNT_TBL_DETAIL b ON (a.account=b.account)
WHERE a.account=@iaccount
END
ELSE BEGIN
SELECT fError = '1', fText = 'Wrong Password !!',fCheck ='',f18='1', fPCZone = '0' -- PCZoneIP (, fPCZone = '0' 추가)
END
END
ELSE BEGIN
SELECT fError = '2', fText = 'Account Not Exists !!',fCheck ='',f18='1', fPCZone = '0' -- PCZoneIP (, fPCZone = '0' 추가)
END
RETURN
-- 계정 검사 Rule
-- 1. (fError=2 리턴) 계정있는지 확인. 계정확인시 "gamecode = A000" 만 프리프 회원.
-- 2. (fError=1 리턴) 암호확인.
-- 3. (fError=0 리턴) 사원 및 기자 확인( id_no1가 a0000 )으로 확인.계정.암호만 확인
-- 4. (fError=3 리턴) 블럭타임과, 과금타임 확인.
-- 5. (fError=4 리턴) 실명확인.
-- 6. (fError=5 리턴) 12세 이상인지 확인. 이하이면 "프리프는 12세 이상 이용가 이므로 ]
-- 게임접속을 할수 없습니다." 라고 알림.
-- 7. (fError=6 리턴) 부모동의서가 없는 애덜 확인 tester = 0 이면 "14세 미만 가입자 분들은
-- 부모등의서를 보내주셔야 게임 접속이 가능합니다"라고 알림.
-- 8. (fError=0 리턴) 위의 예말고는 정상 사용자로 인정.
set nocount off