让用户更改自己的帐号

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

首先参考表[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= 1AND (@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

 

posted @ 2011-01-11 10:57  Insus.NET  阅读(929)  评论(1编辑  收藏  举报