about SQLQuery2 <--- is this correct?

Results 1 to 4 of 4
  1. #1
    Member chaozsphere is offline
    MemberRank
    Jan 2011 Join Date
    80Posts

    about SQLQuery2 <--- is this correct?

    well i had last an error with create a character
    i think its this sql query




    USE [GunzDB]
    GO
    /****** Object: StoredProcedure [dbo].[spInsertChar] Script Date: 11/21/2008 05:26:24 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO

    /****** Object: Stored Procedure dbo.spInsertChar Script Date: 5/10/2007 3:42:11 PM ******/


    /* 캐릭터 추가 */
    ALTER PROC [dbo].[spInsertChar]
    @AID int,
    @CharNum smallint,
    @Name varchar(24),
    @Sex tinyint,
    @Hair int,
    @Face int,
    @Costume int
    AS
    SET NOCOUNT ON
    BEGIN TRAN
    IF EXISTS (SELECT CID FROM Character where (AID=@AID AND CharNum=@CharNum) OR (Name=@Name))
    BEGIN
    ROLLBACK TRAN
    return(-1)
    END
    IF (SELECT dbo.fnCheckString(@Name) as Test)= 1
    BEGIN
    ROLLBACK TRAN
    return (-1)
    END
    DECLARE @CharIdent int
    DECLARE @ChestCIID int
    DECLARE @LegsCIID int
    DECLARE @MeleeCIID int
    DECLARE @PrimaryCIID int
    DECLARE @SecondaryCIID int
    DECLARE @Custom1CIID int
    DECLARE @Custom2CIID int

    DECLARE @ChestItemID int
    DECLARE @LegsItemID int
    DECLARE @MeleeItemID int
    DECLARE @PrimaryItemID int
    DECLARE @SecondaryItemID int
    DECLARE @Custom1ItemID int
    DECLARE @Custom2ItemID int

    SET @SecondaryCIID = NULL
    SET @SecondaryItemID = NULL

    SET @Custom1CIID = NULL
    SET @Custom1ItemID = NULL

    SET @Custom2CIID = NULL
    SET @Custom2ItemID = NULL

    INSERT INTO Character (AID, Name, CharNum, Level, Sex, Hair, Face, XP, BP, FR, CR, ER, WR,
    GameCount, KillCount, DeathCount, RegDate, PlayTime, DeleteFlag)
    Values (@AID, @Name, @CharNum, 1, @Sex, @Hair, @Face, 0, 0, 0, 0, 0, 0, 0, 0, 0, GETDATE(), 0, 0)
    IF 0 <> @@ERROR BEGIN
    ROLLBACK TRAN
    RETURN (-1)
    END


    SET @CharIdent = @@IDENTITY

    /* Melee */
    SET @MeleeItemID =
    CASE @Costume
    WHEN 0 THEN 1
    WHEN 1 THEN 2
    WHEN 2 THEN 1
    WHEN 3 THEN 2
    WHEN 4 THEN 2
    WHEN 5 THEN 1
    END

    INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @MeleeItemID)
    IF 0 <> @@ERROR BEGIN
    ROLLBACK TRAN
    RETURN (-1)
    END

    SET @MeleeCIID = @@IDENTITY

    /* Primary */
    SET @PrimaryItemID =
    CASE @Costume
    WHEN 0 THEN 5001
    WHEN 1 THEN 5002
    WHEN 2 THEN 4005
    WHEN 3 THEN 4001
    WHEN 4 THEN 4002
    WHEN 5 THEN 4006
    END

    INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @PrimaryItemID)
    IF 0 <> @@ERROR BEGIN
    ROLLBACK TRAN
    RETURN (-1)
    END

    SET @PrimaryCIID = @@IDENTITY

    /* Secondary */
    IF @Costume = 0 OR @Costume = 2 BEGIN
    SET @SecondaryItemID =
    CASE @Costume
    WHEN 0 THEN 4001
    WHEN 1 THEN 0
    WHEN 2 THEN 5001
    WHEN 3 THEN 4006
    WHEN 4 THEN 0
    WHEN 5 THEN 4006
    END

    IF @SecondaryItemID <> 0 BEGIN
    INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @SecondaryItemID)
    IF 0 <> @@ERROR BEGIN
    ROLLBACK TRAN
    RETURN (-1)
    END

    SET @SecondaryCIID = @@IDENTITY
    END
    END
    SET @Custom1ItemID =
    CASE @Costume
    WHEN 0 THEN 30301
    WHEN 1 THEN 30301
    WHEN 2 THEN 30401
    WHEN 3 THEN 30401
    WHEN 4 THEN 30401
    WHEN 5 THEN 30101
    END

    /* Custom1 */
    INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @Custom1ItemID)
    IF 0 <> @@ERROR BEGIN
    ROLLBACK TRAN
    RETURN (-1)
    END

    SET @Custom1CIID = @@IDENTITY

    /* Custom2 */
    IF @Costume = 4 OR @Costume = 5
    BEGIN
    SET @Custom2ItemID =
    CASE @Costume
    WHEN 0 THEN 0
    WHEN 1 THEN 0
    WHEN 2 THEN 0
    WHEN 3 THEN 0
    WHEN 4 THEN 30001
    WHEN 5 THEN 30001
    END

    IF @Custom2ItemID <> 0
    BEGIN
    INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @Custom2ItemID)
    IF 0 <> @@ERROR BEGIN
    ROLLBACK TRAN
    RETURN (-1)
    END

    SET @Custom2CIID = @@IDENTITY
    END
    END


    IF @Sex = 0 /* 남자일 경우 */
    BEGIN

    /* Chest */
    SET @ChestItemID =
    CASE @Costume
    WHEN 0 THEN 21001
    WHEN 1 THEN 21001
    WHEN 2 THEN 21001
    WHEN 3 THEN 21001
    WHEN 4 THEN 21001
    WHEN 5 THEN 21001
    END


    INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @ChestItemID)
    IF 0 <> @@ERROR BEGIN
    ROLLBACK TRAN
    RETURN (-1)
    END

    SET @ChestCIID = @@IDENTITY

    /* Legs */
    SET @LegsItemID =
    CASE @Costume
    WHEN 0 THEN 23001
    WHEN 1 THEN 23001
    WHEN 2 THEN 23001
    WHEN 3 THEN 23001
    WHEN 4 THEN 23001
    WHEN 5 THEN 23001
    END


    INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @LegsItemID)
    IF 0 <> @@ERROR BEGIN
    ROLLBACK TRAN
    RETURN (-1)
    END

    SET @LegsCIID = @@IDENTITY

    END
    ELSE
    BEGIN /* 여자일 경우 */

    /* Chest */
    SET @ChestItemID =
    CASE @Costume
    WHEN 0 THEN 21501
    WHEN 1 THEN 21501
    WHEN 2 THEN 21501
    WHEN 3 THEN 21501
    WHEN 4 THEN 21501
    WHEN 5 THEN 21501
    END


    INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @ChestItemID)
    IF 0 <> @@ERROR BEGIN
    ROLLBACK TRAN
    RETURN (-1)
    END
    SET @ChestCIID = @@IDENTITY

    /* Legs */
    SET @LegsItemID =
    CASE @Costume
    WHEN 0 THEN 23501
    WHEN 1 THEN 23501
    WHEN 2 THEN 23501
    WHEN 3 THEN 23501
    WHEN 4 THEN 23501
    WHEN 5 THEN 23501
    END


    INSERT INTO CharacterItem (CID, ItemID) Values (@CharIdent, @LegsItemID)
    IF 0 <> @@ERROR BEGIN
    ROLLBACK TRAN
    RETURN (-1)
    END
    SET @LegsCIID = @@IDENTITY

    END

    UPDATE Character
    SET chest_slot = @ChestCIID, legs_slot = @LegsCIID, melee_slot = @MeleeCIID,
    primary_slot = @PrimaryCIID, secondary_slot = @SecondaryCIID, custom1_slot = @Custom1CIID,
    custom2_slot = @Custom2CIID,
    chest_itemid = @ChestItemID, legs_itemid = @LegsItemID, melee_itemid = @MeleeItemID,
    primary_itemid = @PrimaryItemID, secondary_itemid = @SecondaryItemID, custom1_itemid = @Custom1ItemID,
    custom2_itemid = @Custom2ItemID
    WHERE CID=@CharIdent
    IF 0 = @@ROWCOUNT BEGIN
    ROLLBACK TRAN
    RETURN (-1)
    END
    COMMIT TRAN


  2. #2
    Valued Member EvoGamers is offline
    MemberRank
    Nov 2012 Join Date
    102Posts

    Re: about SQLQuery2 <--- is this correct?

    Man, I don't know but, when I tried to add this query I also had character creation error [E-1].
    I've seen someone saying that, it modify something o spinsertchar and if you have custom items and bounty, you shouldn't add this query.

  3. #3
    Alpha Member Chrisss is offline
    MemberRank
    Feb 2012 Join Date
    Ask the Fox!Location
    1,660Posts

    Re: about SQLQuery2 <--- is this correct?

    Ever heard of [CODE] tags...

  4. #4
    Member chaozsphere is offline
    MemberRank
    Jan 2011 Join Date
    80Posts

    Re: about SQLQuery2 <--- is this correct?

    please tell me more about it.

    oh and yeah i had feeling this isn't correct for my database xD



Advertisement