- - PR -
OdbcConnectionのLIKE検索で使用するESCAPE処理について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-06-26 11:38
VisualStudio2005で、OdbcConnectionを使用してAccess2000のデータを
参照するプログラムの開発を行っています。 Select文でLike検索を行うときに、OracleConnectionやSqlConnectionの 場合は、以下のようにエスケープ文字を指定すると思います。 myOracleCommand.CommandText = "Select Count(*) From Table01 Where Fld01 LIKE :FLD01 ESCAPE '¥¥'"; OracleParameter p = myOracleCommand.Parameters.Add("FLD01", OracleDbType.Varchar2); p.Value = "%" + v_SyouhinMei.Replace("¥¥","¥¥¥¥").Replace("_","¥¥_").Replace("%","¥¥%") + "%"; (バックスラッシュに変換されるようなので¥を倍角にして有ります) しかし、前述のOdbcConnectionを使用してAccess2000に接続する場合に、 ESCAPEを指定すると ERROR [42000] [Microsoft][ODBC Microsoft Access Driver] 構文エラー : 演算子がありません。 のような例外が発生してしまいます。 ESCAPE指定を行わない場合は「_」が任意の1文字と解釈されたりするので 出来ればSQL上でESCAPE処理を行いたいのですが、方法が判りません。 もしかすると、暗黙的にESCAPE文字が指定されているとかがあるのでしょうか? 何かこの件に関する情報をお持ちの型がいらっしゃいましたら、 宜しくお願いします。 |
1