 ALTER  PROCEDURE dbo.aspnet_Membership_GetUserByEmail --通过邮箱获取用户名
ALTER  PROCEDURE dbo.aspnet_Membership_GetUserByEmail --通过邮箱获取用户名 @ApplicationName  NVARCHAR(256),
    @ApplicationName  NVARCHAR(256), @Email            NVARCHAR(256)
    @Email            NVARCHAR(256) AS
AS BEGIN
BEGIN IF( @Email IS NULL )
    IF( @Email IS NULL ) SELECT  u.UserName
        SELECT  u.UserName FROM    dbo.aspnet_Applications a, dbo.aspnet_Users u, dbo.aspnet_Membership m
        FROM    dbo.aspnet_Applications a, dbo.aspnet_Users u, dbo.aspnet_Membership m WHERE   LOWER(@ApplicationName) = a.LoweredApplicationName AND
        WHERE   LOWER(@ApplicationName) = a.LoweredApplicationName AND u.ApplicationId = a.ApplicationId    AND
                u.ApplicationId = a.ApplicationId    AND u.UserId = m.UserId AND
                u.UserId = m.UserId AND m.LoweredEmail IS NULL
                m.LoweredEmail IS NULL
 /**//*如果邮件地址为空,查找地址为空的用户的用户名(都是三表连接)*/
    /**//*如果邮件地址为空,查找地址为空的用户的用户名(都是三表连接)*/ ELSE
    ELSE SELECT  u.UserName
        SELECT  u.UserName FROM    dbo.aspnet_Applications a, dbo.aspnet_Users u, dbo.aspnet_Membership m
        FROM    dbo.aspnet_Applications a, dbo.aspnet_Users u, dbo.aspnet_Membership m WHERE   LOWER(@ApplicationName) = a.LoweredApplicationName AND
        WHERE   LOWER(@ApplicationName) = a.LoweredApplicationName AND u.ApplicationId = a.ApplicationId    AND
                u.ApplicationId = a.ApplicationId    AND u.UserId = m.UserId AND
                u.UserId = m.UserId AND LOWER(@Email) = m.LoweredEmail
                LOWER(@Email) = m.LoweredEmail
 /**//*如果不为空,查询相同电子邮件地址的用户的用户名*/
    /**//*如果不为空,查询相同电子邮件地址的用户的用户名*/ 
     IF (@@rowcount = 0) --如果受影响行数为0
    IF (@@rowcount = 0) --如果受影响行数为0 RETURN(1)
        RETURN(1) RETURN(0)
    RETURN(0)  END
END
 1 ALTER  PROCEDURE dbo.aspnet_Membership_GetUserByName --通过用户名获取用户
ALTER  PROCEDURE dbo.aspnet_Membership_GetUserByName --通过用户名获取用户
2 @ApplicationName      NVARCHAR(256),
    @ApplicationName      NVARCHAR(256),
3 @UserName             NVARCHAR(256),
    @UserName             NVARCHAR(256),
4 @TimeZoneAdjustment   INT,
    @TimeZoneAdjustment   INT,
5 @UpdateLastActivity   BIT = 0
    @UpdateLastActivity   BIT = 0
6 AS
AS
7 BEGIN
BEGIN
8 IF (@UpdateLastActivity = 1)--更新最近活动
    IF (@UpdateLastActivity = 1)--更新最近活动
9 BEGIN
    BEGIN
10 DECLARE @DateTimeNowUTC DATETIME
        DECLARE @DateTimeNowUTC DATETIME
11 EXEC dbo.aspnet_GetUtcDate @TimeZoneAdjustment, @DateTimeNowUTC OUTPUT
        EXEC dbo.aspnet_GetUtcDate @TimeZoneAdjustment, @DateTimeNowUTC OUTPUT
12 UPDATE   dbo.aspnet_Users
        UPDATE   dbo.aspnet_Users
13 SET      LastActivityDate = @DateTimeNowUTC
        SET      LastActivityDate = @DateTimeNowUTC
14 FROM     dbo.aspnet_Applications a, dbo.aspnet_Users u
        FROM     dbo.aspnet_Applications a, dbo.aspnet_Users u
15 WHERE    LOWER(@ApplicationName) = a.LoweredApplicationName AND
        WHERE    LOWER(@ApplicationName) = a.LoweredApplicationName AND
16 u.ApplicationId = a.ApplicationId    AND
                 u.ApplicationId = a.ApplicationId    AND
17 u.LoweredUserName = LOWER(@UserName)
                 u.LoweredUserName = LOWER(@UserName)
18
19 IF (@@ROWCOUNT = 0) -- Username not found
        IF (@@ROWCOUNT = 0) -- Username not found
20 RETURN -1
            RETURN -1
21 END
    END
22
 /**//*如果更新活动时间为真,设置最近活动时间为当前时间*/
     /**//*如果更新活动时间为真,设置最近活动时间为当前时间*/
23
24 SELECT  m.Email, m.PasswordQuestion, m.Comment, m.IsApproved,
    SELECT  m.Email, m.PasswordQuestion, m.Comment, m.IsApproved,
25 m.CreateDate, m.LastLoginDate, u.LastActivityDate, m.LastPasswordChangedDate,
            m.CreateDate, m.LastLoginDate, u.LastActivityDate, m.LastPasswordChangedDate,
26 u.UserId, m.IsLockedOut,m.LastLockoutDate
            u.UserId, m.IsLockedOut,m.LastLockoutDate
27 FROM    dbo.aspnet_Applications a, dbo.aspnet_Users u, dbo.aspnet_Membership m
    FROM    dbo.aspnet_Applications a, dbo.aspnet_Users u, dbo.aspnet_Membership m
28 WHERE   LOWER(@ApplicationName) = a.LoweredApplicationName AND
    WHERE   LOWER(@ApplicationName) = a.LoweredApplicationName AND
29 u.ApplicationId = a.ApplicationId    AND
            u.ApplicationId = a.ApplicationId    AND
30 u.LoweredUserName = LOWER(@UserName) AND
            u.LoweredUserName = LOWER(@UserName) AND
31 u.UserId = m.UserId
            u.UserId = m.UserId
32
 /**//*三表连接查询(aspnet_Users/aspnet_Applications/aspnet_Membership好象有连就
      /**//*三表连接查询(aspnet_Users/aspnet_Applications/aspnet_Membership好象有连就
33 要连一起)*/
         要连一起)*/
34 IF (@@ROWCOUNT = 0) -- Username not found
    IF (@@ROWCOUNT = 0) -- Username not found
35 RETURN -1
       RETURN -1
36 
    
37 RETURN 0
    RETURN 0
38 END
END
 ALTER  PROCEDURE dbo.aspnet_Membership_GetUserByName --通过用户名获取用户
ALTER  PROCEDURE dbo.aspnet_Membership_GetUserByName --通过用户名获取用户2
 @ApplicationName      NVARCHAR(256),
    @ApplicationName      NVARCHAR(256),3
 @UserName             NVARCHAR(256),
    @UserName             NVARCHAR(256),4
 @TimeZoneAdjustment   INT,
    @TimeZoneAdjustment   INT,5
 @UpdateLastActivity   BIT = 0
    @UpdateLastActivity   BIT = 06
 AS
AS7
 BEGIN
BEGIN8
 IF (@UpdateLastActivity = 1)--更新最近活动
    IF (@UpdateLastActivity = 1)--更新最近活动9
 BEGIN
    BEGIN10
 DECLARE @DateTimeNowUTC DATETIME
        DECLARE @DateTimeNowUTC DATETIME11
 EXEC dbo.aspnet_GetUtcDate @TimeZoneAdjustment, @DateTimeNowUTC OUTPUT
        EXEC dbo.aspnet_GetUtcDate @TimeZoneAdjustment, @DateTimeNowUTC OUTPUT12
 UPDATE   dbo.aspnet_Users
        UPDATE   dbo.aspnet_Users13
 SET      LastActivityDate = @DateTimeNowUTC
        SET      LastActivityDate = @DateTimeNowUTC14
 FROM     dbo.aspnet_Applications a, dbo.aspnet_Users u
        FROM     dbo.aspnet_Applications a, dbo.aspnet_Users u15
 WHERE    LOWER(@ApplicationName) = a.LoweredApplicationName AND
        WHERE    LOWER(@ApplicationName) = a.LoweredApplicationName AND16
 u.ApplicationId = a.ApplicationId    AND
                 u.ApplicationId = a.ApplicationId    AND17
 u.LoweredUserName = LOWER(@UserName)
                 u.LoweredUserName = LOWER(@UserName)18

19
 IF (@@ROWCOUNT = 0) -- Username not found
        IF (@@ROWCOUNT = 0) -- Username not found20
 RETURN -1
            RETURN -121
 END
    END22

 /**//*如果更新活动时间为真,设置最近活动时间为当前时间*/
     /**//*如果更新活动时间为真,设置最近活动时间为当前时间*/23

24
 SELECT  m.Email, m.PasswordQuestion, m.Comment, m.IsApproved,
    SELECT  m.Email, m.PasswordQuestion, m.Comment, m.IsApproved,25
 m.CreateDate, m.LastLoginDate, u.LastActivityDate, m.LastPasswordChangedDate,
            m.CreateDate, m.LastLoginDate, u.LastActivityDate, m.LastPasswordChangedDate,26
 u.UserId, m.IsLockedOut,m.LastLockoutDate
            u.UserId, m.IsLockedOut,m.LastLockoutDate27
 FROM    dbo.aspnet_Applications a, dbo.aspnet_Users u, dbo.aspnet_Membership m
    FROM    dbo.aspnet_Applications a, dbo.aspnet_Users u, dbo.aspnet_Membership m28
 WHERE   LOWER(@ApplicationName) = a.LoweredApplicationName AND
    WHERE   LOWER(@ApplicationName) = a.LoweredApplicationName AND29
 u.ApplicationId = a.ApplicationId    AND
            u.ApplicationId = a.ApplicationId    AND30
 u.LoweredUserName = LOWER(@UserName) AND
            u.LoweredUserName = LOWER(@UserName) AND31
 u.UserId = m.UserId
            u.UserId = m.UserId32

 /**//*三表连接查询(aspnet_Users/aspnet_Applications/aspnet_Membership好象有连就
      /**//*三表连接查询(aspnet_Users/aspnet_Applications/aspnet_Membership好象有连就33
 要连一起)*/
         要连一起)*/34
 IF (@@ROWCOUNT = 0) -- Username not found
    IF (@@ROWCOUNT = 0) -- Username not found35
 RETURN -1
       RETURN -136
 
    37
 RETURN 0
    RETURN 038
 END
END