Eu criei uma Stored Procedure para desconectar membros.
Teste off-line e on-line, em meu server funcionou perfeitamente.
Segue a criação a SP.
Código:
USE [MuOnline]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- ==========================================================
-- Author: GhostMutante
-- Create date: 06/10/2009 11:40
--
-- Description: Verificar se o usuário informado esta logado,
-- caso esteja da update em MEMB_STAT
-- ==========================================================
CREATE PROCEDURE [dbo].[WZ_DISCONNECT_MEMB]
@uid varchar(20)
AS
Begin
BEGIN TRANSACTION
SET NOCOUNT ON
IF EXISTS ( SELECT memb___id FROM MEMB_STAT WITH (READUNCOMMITTED) WHERE memb___id = @uid )
Begin
UPDATE MEMB_STAT
SET connectstat = 0 , DisConnectTM = (getdate())
WHERE memb___id = @uid
End
IF(@@Error <> 0 )
ROLLBACK TRANSACTION
ELSE
COMMIT TRANSACTION
SET NOCOUNT OFF
End
Caso alguém pergunte como testar, execute isso no Query Analyzer ou no SQL Manager Studo
Código:
DECLARE @RC int
DECLARE @uid varchar(20)
set @uid = 'GhostMutante';
EXECUTE @RC = [MuOnline].[dbo].[WZ_DISCONNECT_MEMB]
@uid
Substitua GhostMutante pelo usuário desejado.
Abraços.