C#.NETのサンプルコードを掲載しています。
      
Selectメソッドの注意点2
LIKE演算子で使用できるワイルドカード文字は*と%です。
文字として*、%、[、]を使用したい場合は[*] [%] [[] []]とする必要があります。

画面で入力した文字列からLIKE演算子を使ってデータを取得するときは
これを考慮しないとSelectメソッドを使用したタイミングで例外が発生します。

// エラーとなる
DataRow[] rows = dt.Select("NAME LIKE 'オレンジ100% %'");
// エラーとならない
DataRow[] rows = dt.Select("NAME LIKE 'オレンジ100[%] %'");

[*] [%] [[] []]に変換するサンプル
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

private string GetSelectFilterString(string filterString)
{
    string text = string.Empty;
    foreach (char c in filterString)
    {
        switch (c)
        {
            case '*':
            case '%':
            case '[':
            case ']':
                text += "[" + c + "]";
                break;
            default:
                text += c;
                break;
        }
    }
    return text;
}


      
関連ページ


DataSet




Effective C# 4.0
ビル・ワグナー
¥ 3,780



Copyright (C) 2011 - 2017 猫の気ままなC#日記