Charlar Askıda Kalıyorsa

    Paylaş
    avatar
    Admin
    YöneticiYönetici

    Erkek
    Mesaj Sayısı : 677
    Yaş : 27
    Nerden : çanakkale
    İş/Hobiler : öğrenci
    Lakap : webci
    Ruh Hali :
    işletim sistemin :
    Seviye :
    Madalyaların :
    Metin Alanı :
    Vatanını Seven Görevini En İyi Yapandı®.ElitSepet TeaM<<<< YÖNETİCİ

    Sanal Hayvan :
    Rap Derecesi :
    Kayıt tarihi : 15/07/08

    Rap Puanın
    Aktiflik:
    4999/5000  (4999/5000)
    Başarı puanı:
    98787/98787  (98787/98787)
    Güçlülük :
    4999/5000  (4999/5000)

    Charlar Askıda Kalıyorsa

    Mesaj tarafından Admin Bir Perş. Tem. 17, 2008 12:01 pm

    accunt_logout :

    Kod:
    CREATE PROCEDURE [dbo].[ACCOUNT_LOGOUT] 
    @AccountID varchar(21), 
    @ServerNo int,
    @nRet smallint OUTPUT,
    @nRet2 smallint OUTPUT
     
    AS 
     
    BEGIN TRAN 
     
    DELETE FROM CURRENTUSER WHERE strAccountID = @AccountID 

     
    COMMIT TRAN 
    SET @nRet = 1 
    SET @nRet2 = 1
    GO 

    CLEAR_REMAIN_USERS :


    Kod:
    CREATE PROCEDURE CLEAR_REMAIN_USERS
    @AccountID varchar(50)
    AS
    BEGIN TRAN
    DELETE FROM CURRENTUSER WHERE strAccountID = @AccountID
    TRUNCATE TABLE CURRENTUSER
    COMMIT TRAN

    GO 

    PROC_INSERT_CURRENTUSER:


    Kod:
    CREATE PROCEDURE PROC_INSERT_CURRENTUSER
    --procedure eshecat ın galiba
    --ben de o aynı isimle spam problemini çözdüm
    --artık aynı account ile aynı anda onlarca kişi giremez
    @AccountID    varchar(50), 
    @ServerIP      varchar(50),
    @ServerNo    varchar(50),
    @CharID        varchar(50),
    @ClientIP      varchar(50),
    @nret smallint output 

    AS

    INSERT INTO CURRENTUSER ( nServerNo, strCharID, strAccountID, strServerIP, strClientIP )  Values  (@ServerNo, @ServerIP, @AccountID, @CharID, @ClientIP )
    set @nret=1
    GO 

    Sonra Currentuser Tablosunu desing table ile açiyoruz straccuntıd uzerine geliyoruz sol cilck set primaykey diyoruz sorun ortadan kalkıyor....[/b]
    avatar
    Admin
    YöneticiYönetici

    Erkek
    Mesaj Sayısı : 677
    Yaş : 27
    Nerden : çanakkale
    İş/Hobiler : öğrenci
    Lakap : webci
    Ruh Hali :
    işletim sistemin :
    Seviye :
    Madalyaların :
    Metin Alanı :
    Vatanını Seven Görevini En İyi Yapandı®.ElitSepet TeaM<<<< YÖNETİCİ

    Sanal Hayvan :
    Rap Derecesi :
    Kayıt tarihi : 15/07/08

    Rap Puanın
    Aktiflik:
    4999/5000  (4999/5000)
    Başarı puanı:
    98787/98787  (98787/98787)
    Güçlülük :
    4999/5000  (4999/5000)

    Geri: Charlar Askıda Kalıyorsa

    Mesaj tarafından Admin Bir Salı Tem. 22, 2008 1:58 pm

    account logın

    Kod:
    CREATE PROCEDURE ACCOUNT_LOGIN
    @AccountID varchar(21),
    @Password varchar(13),
    @nRet smallint OUTPUT
    AS

    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
    SET @nRet = 4
    RETURN
    END
    ELSE IF @pwd <> @Password
    BEGIN
    --SET @nRet = 0
    SET @nRet = 3
    RETURN
    END

    DECLARE @gokhantasci varchar(21)
    select @gokhantasci = count(straccountid) FROM premium_service WHERE strAccountID = @AccountID

    if @gokhantasci = 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 = 1

    RETURN
    END
    GO

      Forum Saati C.tesi Ara. 15, 2018 2:49 am