- 270 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 20:46:39 ]
- DataViewを作成してRowFilterを設定しようとしています。
フォーム上のテキストボックスで入力された文字列で 「フィールド」の列をあいまい検索しようとしています。 DataView dv = new DataView(datatable); dv.RowFilter = "フィールド like '*" + テキストボックス.Text + "*'"; この時に、特殊な文字列が入っているとエラーになります []%\<>+|^'" だから、Replaceメソッドを使ってあらかじめ[]でそれらの文字をくくってやろうと しました。 Joken = Joken.Replace("[", "ESCAPETemporary"); Joken = Joken.Replace("]", "[]]"); Joken = Joken.Replace("ESCAPETemporary", "[[]"); Joken = Joken.Replace("%", "[%]"); Joken = Joken.Replace("\\", "[\\]"); Joken = Joken.Replace(">", "[>]"); Joken = Joken.Replace("<", "[<]"); Joken = Joken.Replace("+", "[+]"); Joken = Joken.Replace("|", "[|]"); Joken = Joken.Replace("^", "[^]"); Joken = Joken.Replace("'", "''"); たのですが、くくってやるとエラーは出ないのですが検索にかかりません。 これらの文字をエスケープする方法を教えて下さい。 また、エスケープするのにわざわざReplaceでこうやって置き換える以外の方法があったら教えて下さい。
|

|