DataTableにデータがあり、LIKE
クエリでフィルタしたいので、以下のようなコードを書いていますので、クエリを生成してRowFilter
のオブジェクトに渡しています。 DataView
。上記のコードセグメントでDataViewでLikeステートメントを使用するRowFlter
if (results.Count() == 2)
{
if (results[0].ToString() == "" && results[1].ToString() != "")
{
searchString = String.Format("[" + searchBy + "] LIKE '%{0}'", results[1].ToString());
}
else if (results[0].ToString() != "" && results[1].ToString() == "")
{
searchString = String.Format("[" + searchBy + "] LIKE '{0}%'", results[0].ToString());
}
else if (results[0].ToString() != "" && results[1].ToString() != "")
{
searchString = String.Format("[" + searchBy + "] LIKE '{0}%{1}'", results[0].ToString(), results[1].ToString());
}
}
if (searchString != "")
{
DataView dv = new DataView(AccountList.Tables[0]);
dv.RowFilter = searchString;
var tab = dv.ToTable();
DataSet data_set = new DataSet();
data_set.Tables.Add(tab);
ProcessDataSetAndLoadData(data_set);
}
状態ならばその状態で、私は
LIKE、このようsearchStringのを取得しています、他の最後を除いて正常に動作しています 私は[AccountCode] 'のC%のl' の
RowFilter
、私は以下のようなERORを得ているにこれを渡し
、
エラーでLike演算子:文字列パターン 'c%l'は無効です。
他のすべての条件から、私は以下のようなsearchStringを取得しています。これらの条件は正常に動作しています。
[AccountCode] LIKE '%c%'
[AccountCode] LIKE 'c%'
[AccountCode] LIKE '%c
私はこれだけ ような文字列のエラーを取得していますなぜ私の質問は?。 [AccountCode] LIKE 'c%l'
私の仕事を完了するために助言してください。
感謝は、このような文字列を使用する彼らのいずれかの方法である「テ%XT」 –
あなたはと、フォローように2つの条件を試すことができます:[AccountCode]「のC%」AND LIKE [ AccountCode] LIKE '%l' –
大丈夫@Kiran Beladiyaを試してみよう –