Code
Set ANSI_NULLS ON
Set QUOTED_IDENTIFIER ON
Go
Alter procedure [dbo]. [aspnet_Membership_GetAllUsers]
@ ApplicationName nvarchar (256 ),
@ PageIndex int,
@ PageSize int
AS
BEGIN
DECLARE @ ApplicationId uniqueidentifier
SELECT @ ApplicationId = NULL
SELECT @ ApplicationId = ApplicationId FROM dbo. aspnet_Applications where lower (@ ApplicationName) = LoweredApplicationName
IF (@ ApplicationId is null)
RETURN 0
-- Set the page bounds
DECLARE @ PageLowerBound int
DECLARE @ PageUpperBound int
DECLARE @ TotalRecords int
SET @ PageLowerBound = @ PageSize * @ PageIndex
SET @ PageUpperBound = @ PageSize-1 + @ PageLowerBound
-- Create a temp table TO store the select results
Create table # PageIndexForUsers
(
IndexId int IDENTITY (0, 1) not null,
UserId uniqueidentifier
)
-- Insert into our temp table
Insert into # PageIndexForUsers (UserId)
SELECT u. UserId
FROM dbo. aspnet_Membership m, dbo. aspnet_Users u
Where U. applicationid = @ applicationid and U. userid = M. userid
Order by U. Username
Select @ totalrecords = @ rowcount
Select U. username, M. Email, M. passwordquestion, M. Comment, M. isapproved,
M. createdate,
M. lastlogindate,
U. lastactivitydate,
M. lastpasswordchangeddate,
U. userid, M. islockedout,
M. LastLockoutDate
FROM dbo. aspnet_Membership m, dbo. aspnet_Users u, # PageIndexForUsers p
WHERE u. UserId = p. UserId AND u. UserId = m. UserId AND
P. IndexId >=@ PageLowerBound AND p. IndexId <= @ PageUpperBound
Order by u. UserName
RETURN @ TotalRecords
END