- - PR -
.NET Framework Data Provider for Oracle でのパラメータクエリーについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-02-06 13:07
現在Oracle + ASP.NET(C#) でWebアプリケーションを作成しています。
ところが、SQL実行時にパラメータクエリーが実行できずに難儀しています。 実際のコードは以下の通りです OracleCommand cmd = new OracleCommand("select * from [テーブル名] where [カラム名] like '%:pParam%'",con.GetDBConnection()); OracleParameter myParameter = new OracleParameter("pParam", OracleType.VarChar); myParameter.Value = "aaa"; cmd.Parameters.Add(myParameter); cmd.ExecuteReader(); 上のコードを実行すると、 ExecuteReaderメソッドで以下のようなエラーが発生してしまいます。 "ORA-01036: 変数の名前/数が無効です。\\n" オラクルのエラーコードを調べると、 「ユーザー側にバインド・コンテキストを見つけることが出来ません」 という意味のようですが、恥ずかしながら意味がわかりません。 パラメータを使わずにSQLをじかに書けばすんなり実行できるのですが、、 どなたか原因のわかる方がおられましたら教えていただけますでしょうか。 よろしくお願いいたします。 | ||||
|
投稿日時: 2004-02-06 13:17
最大40さん、こんにちは。
試してませんが、 "SELECT * FROM ...... LIKE '%' || :PParam || '%'" ではどうでしょうか? 【追記】 顔文字になってしまったので修正。 [ メッセージ編集済み 編集者: きくちゃん 編集日時 2004-02-06 13:18 ] | ||||
|
投稿日時: 2004-02-06 13:28
きくちゃん さん、すばやい返信ありがとうございます
まさしくその通りでした。 'で囲ってしまうと文字列と見られてしまうんですね。 おかげさまであっさり解決しました 本当にありがとうございました。 |
1