aspnet_Membership_UpdateUser --更新用户数据

 1 None.gif ALTER    PROCEDURE  dbo.aspnet_Membership_UpdateUser  -- 更新用户数据
 2 None.gif      @ApplicationName        NVARCHAR ( 256 ),
 3 None.gif     @UserName               NVARCHAR ( 256 ),
 4 None.gif     @Email                  NVARCHAR ( 256 ),
 5 None.gif     @Comment                NTEXT ,
 6 None.gif     @IsApproved             BIT ,
 7 None.gif     @LastLoginDate          DATETIME ,
 8 None.gif     @LastActivityDate       DATETIME ,
 9 None.gif     @UniqueEmail            INT ,
10 None.gif     @TimeZoneAdjustment     INT
11 None.gif AS
12 None.gif BEGIN
13 None.gif     DECLARE   @UserId   UNIQUEIDENTIFIER
14 None.gif     DECLARE   @ApplicationId   UNIQUEIDENTIFIER
15 None.gif     SELECT    @UserId   =   NULL
16 None.gif     SELECT    @UserId   =  u.UserId,  @ApplicationId   =  a.ApplicationId
17 None.gif     FROM     dbo.aspnet_Users u, dbo.aspnet_Applications a, dbo.aspnet_Membership m
18 None.gif     WHERE    LoweredUserName  =   LOWER ( @UserName AND
19 None.gif            u.ApplicationId  =  a.ApplicationId   AND
20 None.gif             LOWER ( @ApplicationName =  a.LoweredApplicationName  AND
21 None.gif            u.UserId  =  m.UserId
22 ExpandedBlockStart.gifContractedBlock.gif     /**/ /*查询此用户的用户ID和应用程序ID*/
23 None.gif
24 None.gif     IF  ( @UserId   IS   NULL -- 如果为空,返回1
25 None.gif          RETURN ( 1 )
26 None.gif
27 None.gif     IF  ( @UniqueEmail   =   1 -- 如果邮件地址唯一
28 None.gif      BEGIN
29 None.gif         IF  ( EXISTS  ( SELECT   *
30 None.gif                     FROM   dbo.aspnet_Membership  WITH  (UPDLOCK,  HOLDLOCK )
31 None.gif                     WHERE  ApplicationId  =   @ApplicationId    AND   @UserId   <>  UserId  AND  LoweredEmail  =   LOWER ( @Email )))
32 ExpandedBlockStart.gifContractedBlock.gif         /**/ /*如果存在相同的邮件地址,返回7(用户ID 不同,所以是判断是否有相同地址的意思)*/
33 None.gif         BEGIN
34 None.gif             RETURN ( 7 )
35 None.gif         END
36 None.gif     END
37 None.gif
38 None.gif     DECLARE   @TranStarted     BIT
39 None.gif     SET   @TranStarted   =   0
40 None.gif
41 None.gif     IF @@TRANCOUNT   =   0  )  -- 如果当前活动事务为0,开始事务并设置事务参数为1
42 None.gif      BEGIN
43 None.gif         BEGIN   TRANSACTION
44 None.gif         SET   @TranStarted   =   1
45 None.gif     END
46 None.gif     ELSE
47 None.gif     SET   @TranStarted   =   0
48 None.gif
49 None.gif     UPDATE  dbo.aspnet_Membership
50 None.gif     SET
51 None.gif         Email             =   @Email ,
52 None.gif         LoweredEmail      =   LOWER ( @Email ),
53 None.gif         Comment           =   @Comment ,
54 None.gif         IsApproved        =   @IsApproved ,
55 None.gif         LastLoginDate     =   DATEADD (n,  - @TimeZoneAdjustment @LastLoginDate )
56 None.gif     WHERE
57 None.gif        @UserId   =  UserId
58 ExpandedBlockStart.gifContractedBlock.gif       /**/ /*更新表aspnet_Membership*/
59 None.gif
60 None.gif
61 None.gif     IF @@ERROR   <>   0  ) -- 错误则回滚
62 None.gif          GOTO  Cleanup
63 None.gif
64 None.gif     UPDATE  dbo.aspnet_Users
65 None.gif     SET
66 None.gif         LastActivityDate  =   DATEADD (n,  - @TimeZoneAdjustment @LastActivityDate )
67 None.gif     WHERE
68 None.gif        @UserId   =  UserId
69 ExpandedBlockStart.gifContractedBlock.gif     /**/ /*更新表aspnet_Users*/
70 None.gif     IF @@ERROR   <>   0  )   -- 错误则回滚
71 None.gif          GOTO  Cleanup
72 None.gif
73 None.gif     IF @TranStarted   =   1  )
74 None.gif     BEGIN
75 None.gif     SET   @TranStarted   =   0
76 None.gif     COMMIT   TRANSACTION
77 None.gif     END
78 None.gif
79 None.gif     RETURN   0
80 None.gif
81 None.gifCleanup:
82 None.gif
83 None.gif     IF @TranStarted   =   1  )
84 None.gif     BEGIN
85 None.gif         SET   @TranStarted   =   0
86 None.gif         ROLLBACK   TRANSACTION
87 None.gif     END
88 None.gif
89 None.gif     RETURN   - 1
90 None.gif END

转载于:https://www.cnblogs.com/ruanbl/archive/2006/08/31/491051.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值