方法 : DataTable の特定の行を探す

データを利用するアプリケーションのほとんどは、ある種の条件を満たす特定のレコードにアクセスする必要があります。 データセットで特定の行を見つけるために、DataRowCollection オブジェクトの Find メソッドを呼び出すことができます。 主キーがある場合は DataRow オブジェクトが返されます。 主キーが見つからない場合は null 値が返されます。

主キー値を持つ行の検索

型指定されたデータセットの行を主キー値で検索するには

  • テーブルの主キーを使用する厳密に型指定された FindBy メソッドを呼び出して行を見つけます。

    次の例では、CustomerID 列が Customers テーブルの主キーであるため、生成される FindBy メソッドは FindByCustomerID です。 生成された FindBy メソッドを使用して、特定の DataRow を変数に代入する方法を次の例に示します。

    Dim customersRow As NorthwindDataSet.CustomersRow
    customersRow = NorthwindDataSet1.Customers.FindByCustomerID("ALFKI")
    
    NorthwindDataSet.CustomersRow customersRow = 
        northwindDataSet1.Customers.FindByCustomerID("ALFKI");
    

型指定されていないデータセットの行を主キー値で検索するには

  • DataRowCollection コレクションの Find メソッドを呼び出し、主キーをパラメーターとして渡します。

    foundRow という新しい行を宣言し、Find メソッドの戻り値を代入する方法を次の例に示します。 主キーが見つかった場合は、列インデックス 1 の内容がメッセージ ボックスに表示されます。

    Dim s As String = "primaryKeyValue"
    Dim foundRow As DataRow = DataSet1.Tables("AnyTable").Rows.Find(s)
    
    If foundRow IsNot Nothing Then
        MsgBox(foundRow(1).ToString())
    Else
        MsgBox("A row with the primary key of " & s & " could not be found")
    End If
    
    string s = "primaryKeyValue";
    DataRow foundRow = dataSet1.Tables["AnyTable"].Rows.Find(s);
    
    if (foundRow != null) 
    {
        MessageBox.Show(foundRow[0].ToString());
    }
    else
    {
        MessageBox.Show("A row with the primary key of " + s + " could not be found");
    }
    

列の値による行の検索

任意の列の値で行を検索するには

  • データ テーブルは、Select メソッドに渡される式に基づいて DataRow の配列を返す Select メソッドで作成されます。 有効な式を作成する方法の詳細については、Expression プロパティについてのページの「式の構文」のセクションを参照してください。

    特定の行を見つけるために、DataTableSelect メソッドを使用する方法を次の例に示します。

    Dim foundRows() As Data.DataRow
    foundRows = DataSet1.Tables("Customers").Select("CompanyName Like 'A%'")
    
    DataRow[] foundRows;
    foundRows = dataSet1.Tables["Customers"].Select("CompanyName Like 'A%'");
    

参照

関連項目

Find

Select

概念

アプリケーションでのデータ編集

アプリケーションでデータを受け取る準備

アプリケーションへのデータのフェッチ

Visual Studio でのデータへのコントロールのバインド

アプリケーションでのデータ編集

データの検証

データの保存

その他の技術情報

Visual Studio でのデータへの接続