DataTable.Load したデータから検索する


非接続型っぽくない使い方だと思うけど取りあえず試してみた。
LIKE '%hoge%' で検索する場合、キャッシュ代わりに使えないかなと
そんな構造にするな>おおせの通りでございます
試してみたけど、ストアドの方が早かった。検討項目
VS2008 Pro <-> SQL Server 2005 Dev版 + NORTHWIND

Dim builder As New Text.StringBuilder

builder.Remove(0, builder.Length)
With builder
.Append("SELECT * FROM Orders")
End With

Dim con As New SqlConnection(ConnectionString)
con.Open()

Dim cmd As New SqlCommand(builder.ToString, con)
Dim reader As SqlDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)

Dim ds As New DataSet
Dim tbl As DataTable = ds.Tables.Add("Orders")

tbl.Load(reader)
con.Close()

For Each row As DataRow In tbl.Select("CustomerID = 'BLAUS'")
Console.WriteLine("{0} {1}", row("OrderID"), row("CustomerID"))
Next

−−−−出力−−−−
10501 BLAUS
10509 BLAUS
10582 BLAUS
10614 BLAUS
10853 BLAUS
10956 BLAUS
11058 BLAUS