■47540 / inTopicNo.14) |
Re[13]: クラスの参照について |
□投稿者/ だい (38回)-(2010/03/05(Fri) 11:21:19)
|
■No47537 (魔界の仮面弁士 さん) に返信 > ■No47535 (だい さん) に返信 >>名前付きパラメータも使えないし、順不同に入力される可能性があるので?も使えないですし…。 > SQL 中で、『PARAMETERS』宣言をすれば OK です。 > http://office.microsoft.com/ja-jp/access/HP010322601041.aspx > > ADO や DAO のように、SQL 中のパラメータを自動取得する機能はありませんが、 > ADO.NET(Microsoft.JET.OLEDB.4.0) でも『PARAMETERS』を明示すれば、パラメータの順序が保たれます。 > > > 'あえて、未使用パラメータ nantoka を追加してみる。 > Dim q As String = "PARAMETERS nantoka TEXT, kantoka LONG; SELECT * FROM HogeTbl WHERE hin_cd = kantoka;" > > Dim cmd As New OleDbCommand(q, Conn) > cmd.Parameters.Add("nantoka", OleDbType.VarWChar) > cmd.Parameters.Add("kantoka", OleDbType.Integer) > > cmd.Parameters("nantoka").Value = DBNull.Value > cmd.Parameters("kantoka").Value = 123 > > ' nantoka と kantoka が区別されて処理されるはず > Dim tbl As New DataTable() > Using adp As New OleDbDataAdapter(cmd) > adp.Fill(tbl) > End Using
ありがとうございます。やってみたいと思います。
クラスは作成されたのですが、頂いたサンプルコードですと、キーを複数指定してSELECTすることはできませんか? 自分の書いたコードでもそれぞれパラメータは入るんですが、それを連結する際、クラスを参照しなければならず、必ずNewすることになります。 そうなるとTextの値はEmptyになってしまいます…。
|
|