This documentation is archived and is not being maintained.

MembershipUserCollection.Add Method

Adds the specified membership user to the collection.

Namespace:  System.Web.Security
Assembly:  System.Web.ApplicationServices (in System.Web.ApplicationServices.dll)

public void Add(
	MembershipUser user
)

Parameters

user
Type: System.Web.Security.MembershipUser
A MembershipUser object to add to the collection.

ExceptionCondition
System.NotSupportedException

The collection is read-only.

System.ArgumentNullException

The UserName of the user is null.

System.ArgumentException

A MembershipUser object with the same UserName value as user already exists in the collection.

The Add method is commonly used by membership provider implementations of the GetAllUsers, FindUsersByEmail, and FindUsersByName methods of the MembershipProvider abstract class.

The following code example shows a sample GetAllUsers implementation.


public override MembershipUserCollection GetAllUsers(int pageIndex, int pageSize, out int totalRecords)
{
  OdbcCommand cmd = new OdbcCommand("SELECT Count(*) FROM Users  " +
                                    "WHERE ApplicationName = ?", conn);
  cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = ApplicationName;

  MembershipUserCollection users = new MembershipUserCollection();

  OdbcDataReader reader = null;
  totalRecords = 0;

  try
  {
    conn.Open();
    totalRecords = (int)cmd.ExecuteScalar();

    if (totalRecords <= 0) { return users; }

    cmd.CommandText = "SELECT Username, Email, PasswordQuestion," +
             " Comment, IsApproved, CreationDate, LastLoginDate," +
             " LastActivityDate, LastPasswordChangedDate " +
             " FROM Users  " + 
             " WHERE ApplicationName = ? " +
             " ORDER BY Username Asc";

    reader = cmd.ExecuteReader();

    int counter = 0;
    int startIndex = pageSize * pageIndex;
    int endIndex = startIndex + pageSize - 1;

    while (reader.Read())
    {
      if (counter >= startIndex)
      {
        MembershipUser u = GetUserFromReader(reader);
        users.Add(u);
      }

      if (counter >= endIndex) { cmd.Cancel(); }

      counter++;
    }
  }
  catch (OdbcException)
  {
    // Handle exception.
  }
  finally
  {
    if (reader != null) { reader.Close(); }
     conn.Close();
  }

  return users;
}


//
// GetUserFromReader
// A helper function that takes the current row from the OdbcDataReader
// and populates a MembershipUser object with the values. Called by the 
// MembershipUser.GetUser implementation.
//

public MembershipUser GetUserFromReader(OdbcDataReader reader)
{
  object providerUserKey = reader.GetValue(0);
  string username = reader.GetString(1);
  string email = reader.GetString(2);

  string passwordQuestion = "";
  if (reader.GetValue(3) != DBNull.Value)
    passwordQuestion = reader.GetString(3);

  string comment = "";
  if (reader.GetValue(4) != DBNull.Value)
    comment = reader.GetString(4);

  bool isApproved = reader.GetBoolean(5);
  bool isLockedOut = reader.GetBoolean(6);
  DateTime creationDate = reader.GetDateTime(7);

  DateTime lastLoginDate = new DateTime();
  if (reader.GetValue(8) != DBNull.Value)
    lastLoginDate = reader.GetDateTime(8);

  DateTime lastActivityDate = reader.GetDateTime(9);
  DateTime lastPasswordChangedDate = reader.GetDateTime(10);

  DateTime lastLockedOutDate = new DateTime();
  if (reader.GetValue(11) != DBNull.Value)
    lastLockedOutDate = reader.GetDateTime(11);

  MembershipUser u = new MembershipUser(this.Name,
                                        username,
                                        providerUserKey,
                                        email,
                                        passwordQuestion,
                                        comment,
                                        isApproved,
                                        isLockedOut,
                                        creationDate,
                                        lastLoginDate,
                                        lastActivityDate,
                                        lastPasswordChangedDate,
                                        lastLockedOutDate);

  return u;
}


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Show: