✪ DeathKO ✪ | v.1098 MYKO | ASCEND | Rekor Ödül Havuzu | Büyük Academy : 06 Mart 2026 - HAZIR OL!
DB e Girip Stored Procedures 'e Giriyoruz Ve Oradan MYST_LOGİN i Siliyoruz Ve Q.A ya Aşağıdaki Kodu uyguluyoruz
CREATE PROCEDURE MYST_LOGIN
@AccountID varchar(21),
@Password varchar(13),
@nRet smallint OUTPUT
AS
--CurrentUserdan Silelim
delete from currentuser where straccountid = @AccountID
-- Oto Üyelik
select @nRet = count(straccountid) from tb_user where straccountid = @AccountID
if @nRet = 0
begin
insert into tb_user (straccountid, strpasswd, strSocNo, idays) values (@AccountID, @password, 1, '6')
end
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
IF @pwd IS null
BEGIN
SET @nRet = 0
RETURN
END
ELSE IF @pwd <> @Password
BEGIN
SET @nRet = 0
RETURN
END
DECLARE @PremiumServiceDEC varchar(21)
select @PremiumServiceDEC = count(straccountid) FROM premium_service WHERE strAccountID = @AccountID
if @PremiumServiceDEC = 0
begin
insert into PREMIUM_SERVICE (strAccountID, strType, nDays) VALUES (@AccountID, 1, 3)
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 = @Nation+1
RETURN
END
GO
------------------ 2. Aşamaya GEldiğimizde ise
Daha Sora ACCOUNT_LOGIN'i silioruz Ve Query analize bu kod u yazıp F5 e basıyoruzz..
CREATE PROCEDURE ACCOUNT_LOGIN
@AccountID varchar(21),
@Password varchar(13),
@nRet smallint OUTPUT
AS
--CurrentUserdan Silelim
delete from currentuser where straccountid = @AccountID
-- Oto Üyelik
select @nRet = count(straccountid) from tb_user where straccountid = @AccountID
if @nRet = 0
begin
insert into tb_user (straccountid, strpasswd, strSocNo, idays) values (@AccountID, @password, 1, '6')
end
-- Orjinalin Devamı :)
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=6
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
DECLARE @PremiumServiceDEC varchar(21)
select @PremiumServiceDEC = count(straccountid) FROM premium_service WHERE strAccountID = @AccountID
if @PremiumServiceDEC = 0
begin
insert into PREMIUM_SERVICE (strAccountID, strType, nDays) VALUES (@AccountID, 1, 3)
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 = @Nation+1
--SET @nRet = 1
RETURN
END
GO
--------Bu kdr xD :) :) :)
Kod:CREATE PROCEDURE MYST_LOGIN @AccountID varchar(21), @Password varchar(13), @nRet smallint OUTPUT AS --CurrentUserdan Silelim delete from currentuser where straccountid = @AccountID -- Oto Üyelik select @nRet = count(straccountid) from tb_user where straccountid = @AccountID if @nRet = 0 begin insert into tb_user (straccountid, strpasswd, strSocNo, idays) values (@AccountID, @password, 1, '6') end 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 IF @pwd IS null BEGIN SET @nRet = 0 RETURN END ELSE IF @pwd <> @Password BEGIN SET @nRet = 0 RETURN END DECLARE @PremiumServiceDEC varchar(21) select @PremiumServiceDEC = count(straccountid) FROM premium_service WHERE strAccountID = @AccountID if @PremiumServiceDEC = 0 begin insert into PREMIUM_SERVICE (strAccountID, strType, nDays) VALUES (@AccountID, 1, 3) 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 = @Nation+1 RETURN END GO ------------------ 2. Aşamaya GEldiğimizde ise Daha Sora ACCOUNT_LOGIN'i silioruz Ve Query analize bu kod u yazıp F5 e basıyoruzz.. CREATE PROCEDURE ACCOUNT_LOGIN @AccountID varchar(21), @Password varchar(13), @nRet smallint OUTPUT AS --CurrentUserdan Silelim delete from currentuser where straccountid = @AccountID -- Oto Üyelik select @nRet = count(straccountid) from tb_user where straccountid = @AccountID if @nRet = 0 begin insert into tb_user (straccountid, strpasswd, strSocNo, idays) values (@AccountID, @password, 1, '6') end -- Orjinalin Devamı :) 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=6 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 DECLARE @PremiumServiceDEC varchar(21) select @PremiumServiceDEC = count(straccountid) FROM premium_service WHERE strAccountID = @AccountID if @PremiumServiceDEC = 0 begin insert into PREMIUM_SERVICE (strAccountID, strType, nDays) VALUES (@AccountID, 1, 3) 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 = @Nation+1 --SET @nRet = 1 RETURN END GO --------Bu kdr xD :) :) :)
Böylesi daha iyi hö
CREATE PROCEDURE ACCOUNT_LOGIN
@AccountID varchar(21),
@Password varchar(13),
@nRet smallint OUTPUT
AS
declare @ban int , @ban1 int, @ban2 int
select @nRet = count(straccountid) from currentuser
select @ban = authority from userdata where struserid = (select strcharid1 from account_char where straccountid = @AccountID and strcharid1 is not null )
select @ban1 = authority from userdata where struserid = (select strcharid2 from account_char where straccountid = @AccountID and strcharid1 is not null )
select @ban2 = authority from userdata where struserid = (select strcharid3 from account_char where straccountid = @AccountID and strcharid1 is not null )
if @ban = 255 or @ban1 = 255 or @ban2 = 255
begin
Set @nRet = 4
RETURN
end
--CurrentUserdan Silelim
delete from currentuser where straccountid = @AccountID
-- Oto Üyelik
select @nRet = count(straccountid) from tb_user where straccountid = @AccountID
if @nRet = 0
begin
insert into tb_user (straccountid, strpasswd, strSocNo, idays) values (@AccountID, @password, 1, '6')
end
-- Orjinalin Devamı :)
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=6
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
DECLARE @PremiumServiceDEC varchar(21)
select @PremiumServiceDEC = count(straccountid) FROM premium_service WHERE strAccountID = @AccountID
if @PremiumServiceDEC = 0
begin
insert into PREMIUM_SERVICE (strAccountID, strType, nDays) VALUES (@AccountID, 1, 3)
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 = @Nation+1
--SET @nRet = 1
RETURN
END
GO