2006/07/15 | DataReader | |
---|
| 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 の信頼関係接続と関連付けられていません。」というエラーが発生します。 |
|