手记

让用户更改自己的帐号

一般情况之下,只允许用户更改自己的密码与邮箱。下面方法设法让用户更改自己的帐号:

首先参考表[Users]:

写一个存储过程,存储过程中有一个自定义函数udf_ExclusionAccount,请参考http://www.cnblogs.com/insus/articles/1407256.html:

代码

CREATE PROCEDURE [dbo].[usp_Users_UpdateAccount]
(
    @ID tinyint,
    @Account nvarchar(30)
)
AS
--限制用户不能更改为系统预定帐号
IF(([dbo].[udf_ExclusionAccount](@Account) = 1) AND (@ID != 1)) 
BEGIN
    RAISERROR(N'此帐号:%s是系统预定帐号,无法更改!',16,1,@Account)
    RETURN
END    
--判断更改的帐号是否已经被使用    
ELSE IF EXISTS(SELECT TOP 1 * FROM [Users] WHERE [Account]=@Account AND [UsersId]<>@ID)
BEGIN
    RAISERROR(N'此帐号:%s已经存在,无法更改!',16,1,@Account)
    RETURN
END
BEGIN TRANSACTION
    --更新帐号
    UPDATE [Users] SET [Account] = @Account WHERE [UsersId] = @ID
    IF @@ERROR <> 0    
    BEGIN
        ROLLBACK TRANSACTION        
    END        
        COMMIT TRANSACTION

 

0人推荐
随时随地看视频
慕课网APP