VB2005 DataTableから行を抽出する方法

  Dim cn As SqlClient.SqlConnection

   Sub DataTableTest()

        Dim cmd As New SqlClient.SqlCommand(“SELECT ID, Name FROM Table1”, cn)
        Try
            cmd.CommandType = CommandType.Text
            Dim da As New SqlClient.SqlDataAdapter
            da.SelectCommand = cmd
            Dim dt As New DataTable
            dt.PrimaryKey = Nothing
            dt.Locale = System.Globalization.CultureInfo.InvariantCulture
            da.Fill(dt)

            ‘(1)Rows.Findメソッドを使用する方法 ==========
            ‘PrimaryKeyを設定する必要がある
            dt.PrimaryKey = New DataColumn() {dt.Columns(“ID”)}
            Dim row1 As DataRow = dt.Rows.Find(1)
            MessageBox.Show(row1.Item(“Name”).ToString)

            ‘(2)Selectメソッドを使用する方法 =============
            ‘PrimaryKeyは不必要だがDataRowの配列で返ってくる
            Dim row2() As DataRow = dt.Select(“ID = 1”)
            For Each row As DataRow In row2
                MessageBox.Show(row.Item(“Name”).ToString)
            Next

            ‘Selectメソッドはソートもできる
            Dim row3() As DataRow = dt.Select(“ID < 3”, “Name DESC”)
            For Each row As DataRow In row3
                MessageBox.Show(row.Item(“Name”).ToString)
            Next

            ‘絞り込み無しのソートのみもできる
            Dim row4() As DataRow = dt.Select(Nothing, “Name DESC”)
            For Each row As DataRow In row4
                MessageBox.Show(row.Item(“Name”).ToString)
            Next

        Finally
            cmd.Dispose()
        End Try

    End Sub