المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : بخصوص بلوك شات


M.HADAD
04-04-2015, 05:47 PM
لما بعمل لاى حد بلوك شات بيكتبلى تحت فى SMC
punishment jop [ register ] is Failed : db error

Dev. iLegend
04-04-2015, 05:55 PM
Execute These Queries


USE [SRO_VT_ACCOUNT]
GO
/****** Object: StoredProcedure [dbo].[_RegisterPunishment] Script Date: 04/04/2015 16:53:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
ALTER procedure [dbo].[_RegisterPunishment]
@UserJID int,
@Type tinyint,
@Executor varchar(128),
@Shard smallint,
@CharName varchar(16),
@CharInfo varchar(256),
@PosInfo varchar(64),
@Guide varchar(512),
@Description varchar(1024),
@RaiseTime datetime,
@BlockStartTime datetime,
@BlockEndTime datetime,
@PunishTime datetime
as
if( exists( select UserJID from _BlockedUser with(NOLOCK) where UserJID = @UserJID and Type = @Type))
begin
select -1
RETURN
end
declare @NewSerialNo int
set @NewSerialNo = 0

insert _Punishment values( @UserJID, @Type, @Executor, @Shard, @CharName, @CharInfo,
@PosInfo, @Guide, @Description, @RaiseTime, @BlockStartTime, @BlockEndTime, @PunishTime, 0)
set @NewSerialNo = @@identity
if( @@rowcount = 0 or @@error <> 0 or @NewSerialNo = 0 or @NewSerialNo is null)
begin
select -2
return
end
declare @UserID varchar(128)
set @UserID = (SELECT StrUserID FROM TB_User where JID = @UserJID)
if( @@rowcount = 0 or @@error <> 0 or @UserID is null)
begin
select - 2
return
end
insert _BlockedUser values( @UserJID, @UserID, @Type, @NewSerialNo, @BlockStartTime, @BlockEndTime)
select 0



USE [SRO_VT_ACCOUNT]
GO
/****** Object: StoredProcedure [dbo].[_RegisterAutomatedPunishment] Script Date: 04/04/2015 16:53:03 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO

ALTER PROCEDURE [dbo].[_RegisterAutomatedPunishment]
@Account VARCHAR(128),
@Type TINYINT,
@Executor VARCHAR(128),
@Guide VARCHAR(512),
@Description VARCHAR(1024),
@BlockTimeElapse INT
-- @BlockStartTime DATETIME,
-- @BlockEndTime DATETIME
AS
------------------------------------------------------------------------------------
-- novice with deepdark
-- depend only on db time.. we don't have to sync the time between DB and GlobalManager for accuracy
DECLARE @BlockStartTime VARCHAR(128)
DECLARE @BlockEndTime VARCHAR(128)

SET @BlockStartTime = getdate()
SET @BlockEndTime = dateadd( mi, @BlockTimeElapse, @BlockStartTime)
------------------------------------------------------------------------------------

DECLARE @UserJID INT
SET @UserJID = 0

-- أپ¸أ€çأ‡أڈ´أ‚ أ„³¸¯أ…أچ أ€أŒ¸§أ€أژأپأ¶? JID ¾÷¾îآ؟أ€أ€أڑ.
SELECT @UserJID = JID FROM TB_User WITH (NOLOCK) WHERE strUserID = @Account
IF @@ERROR <> 0 OR @UserJID = 0
BEGIN
SELECT -1
RETURN
END

-- أ€أŒ¹أŒ آ؛أ*·° °أ‰¸° أ€¯أ€أ؛أ€أŒ³أ„?
IF( EXISTS ( SELECT UserJID FROM _BlockedUser WITH (NOLOCK) WHERE UserJID = @UserJID AND Type = @Type))
BEGIN
SELECT -2
RETURN
END

DECLARE @NewSerialNo int
SET @NewSerialNo = 0

INSERT _Punishment values( @UserJID, @Type, @Executor, 0, '', '', '', @Guide, @Description, @BlockStartTime, @BlockStartTime, @BlockEndTime, @BlockStartTime, 0)
set @NewSerialNo = @@identity
if( @@rowcount = 0 or @@error <> 0 or @NewSerialNo = 0 or @NewSerialNo is null)
BEGIN
SELECT -3
RETURN
END

INSERT _BlockedUser values( @UserJID, @Account, @Type, @NewSerialNo, @BlockStartTime, @BlockEndTime)
if( @@rowcount = 0 or @@error <> 0 )
BEGIN
SELECT -4
RETURN
END

SELECT @UserJID

M.HADAD
04-04-2015, 06:36 PM
الف شكرياغالى

Hamza FiGo
04-04-2015, 06:42 PM
تمام يغلق

##