# あえて、解決チェックを外した状態で投稿。
■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
|