SqlMembershipProvider.FindUsersByName メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > SqlMembershipProvider.FindUsersByName メソッドの意味・解説 

SqlMembershipProvider.FindUsersByName メソッド

メモ : このメソッドは、.NET Framework version 2.0 で新しく追加されたものです。

ユーザー名が指定内容と一致するメンバシップ ユーザーのコレクションを取得します。

名前空間: System.Web.Security
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Overrides Function
 FindUsersByName ( _
    usernameToMatch As String, _
    pageIndex As Integer, _
    pageSize As Integer, _
    <OutAttribute> ByRef totalRecords As
 Integer _
) As MembershipUserCollection
Dim instance As SqlMembershipProvider
Dim usernameToMatch As String
Dim pageIndex As Integer
Dim pageSize As Integer
Dim totalRecords As Integer
Dim returnValue As MembershipUserCollection

returnValue = instance.FindUsersByName(usernameToMatch, pageIndex, pageSize, totalRecords)
public override MembershipUserCollection FindUsersByName (
    string usernameToMatch,
    int pageIndex,
    int pageSize,
    out int totalRecords
)
public:
virtual MembershipUserCollection^ FindUsersByName (
    String^ usernameToMatch, 
    int pageIndex, 
    int pageSize, 
    [OutAttribute] int% totalRecords
) override
public MembershipUserCollection FindUsersByName (
    String usernameToMatch, 
    int pageIndex, 
    int pageSize, 
    /** @attribute OutAttribute() */ /** @ref */ int totalRecords
)
JScript では、値型の引数は参照渡しされません。

パラメータ

usernameToMatch

検索するユーザー名。

pageIndex

取得する結果のページのインデックス。pageIndex は 0 から始まります。

pageSize

取得する結果のページのサイズ。

totalRecords

このメソッドから制御が戻るとき、一致するユーザーの総数を格納します。

戻り値
pageIndex で指定されたページから始まる pageSizeMembershipUser オブジェクトのページを格納している MembershipUserCollection。

例外例外
例外の種類条件

System.ArgumentException

usernameToMatch が空の文字列 ("") であるか、または 256 文字を超えています。

または

pageIndex が 0 未満です。

または

pageSize が 1 未満です。

または

pageIndex を pageSize でかけて pageSize を足して 1 を引いた値が Int32.MaxValue を超えています。

System.ArgumentNullException

usernameToMatch が null 参照 (Visual Basic では Nothing) です。

解説解説

FindUsersByName は、構成されている ApplicationName に対応する指定の usernameToMatch に一致するユーザー名を持つメンバシップ ユーザーの一覧を返します。

SqlMembershipProvider は、LIKE 句を使用して、usernameToMatch パラメータ値に一致するユーザー名を検索します。このパラメータ値には SQL Server ワイルドカード文字を含めることができます。たとえば、usernameToMatch パラメータを "user1" に設定した場合、"user1" のユーザー名が付いたユーザー情報が存在していれば、そのユーザー情報が返されます。usernameToMatch パラメータを "user%" に設定すると、ユーザー名が "user1"、"user2"、"user_admin" などのユーザーのユーザー情報が返されます。

FindUsersByName によって返される結果は、pageIndex パラメータおよび pageSize パラメータによって制限されます。pageSize パラメータには、MembershipUserCollection で返す MembershipUser オブジェクトの最大数を指定します。pageIndex パラメータは、取得する結果のページを識別します。最初のページは 0 で表されます。totalRecords パラメータは、構成された applicationName のメンバシップ ユーザーの総数に設定される out パラメータです。たとえば、構成されている applicationName に 13 人のユーザーが存在し、pageIndex 値が 1 で pageSize が 5 である場合、MembershipUserCollection の戻り値には 6 番目から 10 番目までのユーザーが含まれます。totalRecords パラメータは、13 に設定されます。

usernameToMatch パラメータ値の先頭と末尾の空白はトリムされます。

使用例使用例

FindUsersByName メソッドを使用して、メンバシップ ユーザー情報を取得し、結果ページを表示するコード例を次に示します。

メモメモ

このコード例では、System.Web.Security.SqlMembershipProvider を使用して、Web.config ファイル内の defaultProvider として指定されている SqlMembershipProvider を呼び出します。既定のプロバイダに SqlMembershipProvider 型としてアクセスする必要がある場合は、Membership クラスの Provider プロパティをキャストできます。固有のプロバイダの種類として構成されたその他のプロバイダにアクセスする場合、Membership クラスの Providers プロパティを使用して、参照されたプロバイダを固有プロバイダの種類としてキャストすることによって、構成された名前でアクセスできます。

<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security"
 %>
<script runat="server">

Dim pageSize As Integer
 = 5
Dim totalUsers As Integer
Dim totalPages As Integer
Dim currentPage As Integer
 = 1

Private Sub GetUsers()
  UserGrid.DataSource = Membership.FindUsersByName(UsernameTextBox.Text, _
                          currentPage - 1, pageSize, totalUsers)

  totalPages = ((totalUsers - 1) \ pageSize) + 1

  ' Ensure that we do not navigate past the last page of users.

  If currentPage > totalPages Then
    currentPage = totalPages
    GetUsers()
    Return
  End If

  UserGrid.DataBind()
  CurrentPageLabel.Text = currentPage.ToString()
  TotalPagesLabel.Text = totalPages.ToString()

  If currentPage = totalPages Then
    NextButton.Visible = False
  Else
    NextButton.Visible = True
  End If

  If currentPage = 1 Then
    PreviousButton.Visible = False
  Else
    PreviousButton.Visible = True
  End If

  If totalUsers <= 0 Then
    NavigationPanel.Visible = False
  Else
    NavigationPanel.Visible = True
  End If
End Sub

Public Sub NextButton_OnClick(sender As
 Object, args As EventArgs)
  currentPage = Convert.ToInt32(CurrentPageLabel.Text)
  currentPage += 1
  GetUsers()
End Sub

Public Sub PreviousButton_OnClick(sender As
 Object, args As EventArgs)
  currentPage = Convert.ToInt32(CurrentPageLabel.Text)
  currentPage -= 1
  GetUsers()
End Sub

Public Sub GoButton_OnClick(sender As
 Object, args As EventArgs)
  currentPage = 1
  GetUsers()
End Sub

</script>
<html>
<head>
<title>Sample: Find Users</title>
</head>
<body>

<form runat="server">
  <h3>User List</h3>

  Username to Search for: 
    <asp:TextBox id="UsernameTextBox" runat="server"
 />
    <asp:Button id="GoButton" Text="
 Go " OnClick="GoButton_OnClick" runat="server"
 /><BR>

  <asp:Panel id="NavigationPanel" Visible="False"
 runat="server">
    <table border=0 cellpadding=3 cellspacing=3>
      <tr>
        <td width=100>Page <asp:Label id="CurrentPageLabel"
 runat="server" />
            of <asp:Label id="TotalPagesLabel"
 runat="server" /></td>
        <td width=60><asp:LinkButton id="PreviousButton"
 Text="< Prev"
                            OnClick="PreviousButton_OnClick"
 runat="server" /></td>
        <td width=60><asp:LinkButton id="NextButton"
 Text="Next >"
                            OnClick="NextButton_OnClick"
 runat="server" /></td>
      </tr>
    </table>
  </asp:Panel>

  <asp:DataGrid id="UserGrid" runat="server"
                CellPadding="2" CellSpacing="1"
                Gridlines="Both">
    <HeaderStyle BackColor="darkblue" ForeColor="white"
 />
  </asp:DataGrid>

</form>

</body>
</html>
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<script runat="server">

int pageSize = 5;
int totalUsers;
int totalPages;
int currentPage = 1;

private void GetUsers()
{
  UserGrid.DataSource = Membership.FindUsersByName(UsernameTextBox.Text, 
                          currentPage - 1, pageSize, out totalUsers);
  totalPages = ((totalUsers - 1) / pageSize) + 1;

  // Ensure that we do not navigate past the last page of users.

  if (currentPage > totalPages)
  {
    currentPage = totalPages;
    GetUsers();
    return;
  }

  UserGrid.DataBind();
  CurrentPageLabel.Text = currentPage.ToString();
  TotalPagesLabel.Text = totalPages.ToString();

  if (currentPage == totalPages)
    NextButton.Visible = false;
  else
    NextButton.Visible = true;

  if (currentPage == 1)
    PreviousButton.Visible = false;
  else
    PreviousButton.Visible = true;

  if (totalUsers <= 0)
    NavigationPanel.Visible = false;
  else
    NavigationPanel.Visible = true;
}

public void NextButton_OnClick(object sender,
 EventArgs args)
{
  currentPage = Convert.ToInt32(CurrentPageLabel.Text);
  currentPage++;
  GetUsers();
}

public void PreviousButton_OnClick(object sender,
 EventArgs args)
{
  currentPage = Convert.ToInt32(CurrentPageLabel.Text);
  currentPage--;
  GetUsers();
}

public void GoButton_OnClick(object sender,
 EventArgs args)
{
  currentPage = 1;
  GetUsers();
}

</script>
<html>
<head>
<title>Sample: Find Users</title>
</head>
<body>

<form runat="server">
  <h3>User List</h3>

  Username to Search for: 
    <asp:TextBox id="UsernameTextBox" runat="server" />
    <asp:Button id="GoButton" Text=" Go " OnClick="GoButton_OnClick"
 runat="server" /><BR>

  <asp:Panel id="NavigationPanel" Visible="false"
 runat="server">
    <table border=0 cellpadding=3 cellspacing=3>
      <tr>
        <td width=100>Page <asp:Label id="CurrentPageLabel" runat="server"
 />
            of <asp:Label id="TotalPagesLabel" runat="server"
 /></td>
        <td width=60><asp:LinkButton id="PreviousButton" Text="<
 Prev"
                            OnClick="PreviousButton_OnClick" runat="server"
 /></td>
        <td width=60><asp:LinkButton id="NextButton" Text="Next
 >"
                            OnClick="NextButton_OnClick" runat="server"
 /></td>
      </tr>
    </table>
  </asp:Panel>

  <asp:DataGrid id="UserGrid" runat="server"
                CellPadding="2" CellSpacing="1"
                Gridlines="Both">
    <HeaderStyle BackColor="darkblue" ForeColor="white" />
  </asp:DataGrid>

</form>

</body>
</html>
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SqlMembershipProvider クラス
SqlMembershipProvider メンバ
System.Web.Security 名前空間
その他の技術情報
メンバシップの概要



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

SqlMembershipProvider.FindUsersByName メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SqlMembershipProvider.FindUsersByName メソッドのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS