2006/07/15 18DataReader


DataReaderは高速です。
100000件以上のレコードから数件抽出するのに1秒かかりません。

このようにします。

Dim SQLDrdCn As New Data.SqlClient.SqlConnection
Dim SQLDrdCmd As New Data.SqlClient.SqlCommand
Dim SQLDrdTb As New Data.DataTable
Dim SQLDrd As Data.SqlClient.SqlDataReader
Dim QS As String

    QS = SearchKey
    SQLDrdCn.ConnectionString = "server=servername;Initial Catalog=DATABASENAME; _
    Integrated Security=True"
    SQLDrdTb.Clear()
    SQLDrdCmd.CommandText = "select * from [商品] where 商品名 like '%" & QS & "%' or _
    商品コード like '%" & QS & "%'"
    SQLDrdCmd.Connection = SQLDrdCn
    SQLDrdCn.Open()
    SQLDrd = SQLDrdCmd.ExecuteReader
    Do While SQLDrd.Read
        Console.Write(SQLDrd("商品コード") & " " & SQLDrd("商品名"))
    Loop

    SQLDrdCn.Close()
End If

気をつけなければならないのは、IISからSQLサーバーに接続するとき、web.config に
次の一行を追加し、SQLサーバーに接続することのできるユーザーを偽装しなければならないことです。

<identity impersonate="true" userName="domainname\username" password="password" />


そうでないと、「ユーザー '' はログインできませんでした。このユーザーは SQL Server の信頼関係接続と関連付けられていません。」というエラーが発生します。



<前へ  次へ>

INDEX

AliceGallery StrataDictionary

(c) 1995 - 2022 AliceGallery