人気ブログランキング | 話題のタグを見る
(VB.Net、SQL)OLEDBでのパラメータクエリ
.NetからOLE DBでmdb(Access)に対してパラメータクエリをする方法です。
OLEDBでは名前付きパラメータは使えず、パラメータの順序で対応するプレースホルダが決まるみたいなので注意が必要です。
(でも、パラメータに名前があっても問題は無いようです)

下記がVB.NetからOLEDBでクエリを投げる例です。

Dim cn As New OleDb.OleDbConnection
cn.ConnectionString = m_adpCustomer.Connection.ConnectionString
Dim cmd As New OleDb.OleDbCommand()
cmd.Connection = cn
 
'SQL文字列生成
Dim strSQL As New System.Text.StringBuilder()
strSQL.AppendLine("SELECT * ")
strSQL.AppendLine("FROM Customer ")
strSQL.AppendLine("WHERE CustomerNo>=?")
strSQL.AppendLine(" AND CustomerNo<=?")
'パラメータクエリ(プレースホルダ)指定
Dim plam1 As New OleDb.OleDbParameter("@CondNoFrom", System.Data.OleDb.OleDbType.Integer)
plam1.Value = "10"
cmd.Parameters.Add(plam1)
Dim plam2 As New OleDb.OleDbParameter("@CondNoTo", System.Data.OleDb.OleDbType.Integer)
plam2.Value = "20"
cmd.Parameters.Add(plam2)
 
'SQLコマンドの設定
cmd.Connection = cn
cmd.CommandText = strSQL.ToString()
Dim dAdp As New OleDb.OleDbDataAdapter(cmd)
Dim dset As New DataSet()
'クエリ実行
dAdp.Fill(dset)
For Each row As DataRow In dset.Tables(0).Rows
Console.WriteLine(row(0).ToString())
Next


参考:
OleDb接続で、パラメータクエリ
【C#】【OLE DB】SQLを発行する際の名前付きパラメータ(プレースホルダ)
by jehoshaphat | 2008-11-29 21:52 | .Net開発


<< (HTML)JavaScrip... エキサイトブログで表(罫線)を... >>