zoukankan      html  css  js  c++  java
  • aspnet_Membership_UpdateUser 更新用户数据

     1ALTER  PROCEDURE dbo.aspnet_Membership_UpdateUser --更新用户数据
     2    @ApplicationName      NVARCHAR(256),
     3    @UserName             NVARCHAR(256),
     4    @Email                NVARCHAR(256),
     5    @Comment              NTEXT,
     6    @IsApproved           BIT,
     7    @LastLoginDate        DATETIME,
     8    @LastActivityDate     DATETIME,
     9    @UniqueEmail          INT,
    10    @TimeZoneAdjustment   INT
    11AS
    12BEGIN
    13    DECLARE @UserId UNIQUEIDENTIFIER
    14    DECLARE @ApplicationId UNIQUEIDENTIFIER
    15    SELECT  @UserId = NULL
    16    SELECT  @UserId = u.UserId, @ApplicationId = a.ApplicationId
    17    FROM    dbo.aspnet_Users u, dbo.aspnet_Applications a, dbo.aspnet_Membership m
    18    WHERE   LoweredUserName = LOWER(@UserNameAND
    19            u.ApplicationId = a.ApplicationId  AND
    20            LOWER(@ApplicationName= a.LoweredApplicationName AND
    21            u.UserId = m.UserId
    22    /*查询此用户的用户ID和应用程序ID*/
    23
    24    IF (@UserId IS NULL--如果为空,返回1
    25        RETURN(1)
    26
    27    IF (@UniqueEmail = 1--如果邮件地址唯一
    28    BEGIN
    29        IF (EXISTS (SELECT *
    30                    FROM  dbo.aspnet_Membership WITH (UPDLOCK, HOLDLOCK)
    31                    WHERE ApplicationId = @ApplicationId  AND @UserId <> UserId AND LoweredEmail = LOWER(@Email)))
    32        /*如果存在相同的邮件地址,返回7(用户ID 不同,所以是判断是否有相同地址的意思)*/
    33        BEGIN
    34            RETURN(7)
    35        END
    36    END
    37
    38    DECLARE @TranStarted   BIT
    39    SET @TranStarted = 0
    40
    41    IF@@TRANCOUNT = 0 ) --如果当前活动事务为0,开始事务并设置事务参数为1
    42    BEGIN
    43        BEGIN TRANSACTION
    44        SET @TranStarted = 1
    45    END
    46    ELSE
    47    SET @TranStarted = 0
    48
    49    UPDATE dbo.aspnet_Membership
    50    SET
    51         Email            = @Email,
    52         LoweredEmail     = LOWER(@Email),
    53         Comment          = @Comment,
    54         IsApproved       = @IsApproved,
    55         LastLoginDate    = DATEADD(n, -@TimeZoneAdjustment@LastLoginDate)
    56    WHERE
    57       @UserId = UserId
    58      /*更新表aspnet_Membership*/
    59
    60
    61    IF@@ERROR <> 0 )--错误则回滚
    62        GOTO Cleanup
    63
    64    UPDATE dbo.aspnet_Users
    65    SET
    66         LastActivityDate = DATEADD(n, -@TimeZoneAdjustment@LastActivityDate)
    67    WHERE
    68       @UserId = UserId
    69    /*更新表aspnet_Users*/
    70    IF@@ERROR <> 0 )  --错误则回滚
    71        GOTO Cleanup
    72
    73    IF@TranStarted = 1 )
    74    BEGIN
    75    SET @TranStarted = 0
    76    COMMIT TRANSACTION
    77    END
    78
    79    RETURN 0
    80
    81Cleanup:
    82
    83    IF@TranStarted = 1 )
    84    BEGIN
    85        SET @TranStarted = 0
    86        ROLLBACK TRANSACTION
    87    END
    88
    89    RETURN -1
    90END
  • 相关阅读:
    运行带参数的python脚本
    调用其他python脚本文件里面的类和方法
    快速学会在JSP中使用EL表达式
    理解maven项目的pom.xml文件中,<scope>标签的作用——作用域以及依赖传递
    理解JavaWeb项目中的路径问题——相对路径与绝对路径
    hdu4417(Super Mario)—— 二分+划分树
    hdu4325-Flowers-树状数组+离散化
    poj3321-Apple Tree(DFS序+树状数组)
    数据的离散化
    POJ2676 – Sudoku(数独)—DFS
  • 原文地址:https://www.cnblogs.com/ruanbl/p/491051.html
Copyright © 2011-2022 走看看