C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 15 を表示中)
■5368 / )  Re[8]: DATAVIEWのROWFILTERでの検索
□投稿者/ 魔界の仮面弁士 (339回)-(2007/07/11(Wed) 14:30:17)
# あえて、解決チェックを外した状態で投稿。


■No5362 (C#初心者 さん) に返信
> どういうことでしょうか?シングルでは囲んでいますけど。

そういうことではありません。テキストボックスに特殊文字が入力されていた場合の話です。
具体的な例を挙げてみれば、たとえば
 filter = "(t_transmit LIKE '%送信%' )";      // 「送信」を検索
のような内容であれば良いのですが、
 filter = "(t_transmit LIKE '%送*信%' )";     // 「送*信」を検索 → エラー
 filter = "(t_transmit LIKE '%送]信%' )";     // 「送]信」を検索 → エラー
といった文字列だと、DataView の処理がエラーになってしまう、ということです。

ですから、TextBox からそうした特殊な文字列が入ってきた場合に備え、
それぞれの特殊文字に対して適切なエスケープ処理を施したさなければなりません。

たとえば上記の例でいえば、処理後のフィルタの内容は、
 filter = "(t_transmit LIKE '%送[*]信%' )";     // 「送*信」を検索
 filter = "(t_transmit LIKE '%送[]]信%' )";     // 「送]信」を検索
などといった結果になるでしょう。

これらの特殊文字については、ヘルプで DataColumn クラスの Expression プロパティを調べると載っています。


> はい・・・申し訳ありません。
> ASP.NETのC#です。
分類の修正をお願いします。>投稿者 or 管理人s

返信 編集キー/


管理者用

- Child Tree -