public static void Main()
Console.WriteLine("----------------------------------------------------------");
Console.WriteLine("What i learned today: ");
Console.WriteLine("The IN keyword must be followed by a non-empty list of expressions separated by commas, and also must be enclosed in parentheses.");
Console.WriteLine("----------------------------------------------------------");
Console.WriteLine("Solution:");
Console.WriteLine("Check the string is not null and not empty. When you try to put the string in the In Clasue.");
Console.WriteLine("----------------------------------------------------------");
Console.WriteLine("Checking Dataview IN Clause when it is empty!");
string filterCondition = "ID=1";
CheckData(filterCondition);
filterCondition = string.Format("ID in ({0})", IDs);
CheckData(filterCondition);
filterCondition = string.Format("ID in ({0})", IDs);
CheckData(filterCondition);
if(!string.IsNullOrEmpty(IDs))
filterCondition = string.Format("ID in ({0})", IDs);
CheckData(filterCondition);
Console.WriteLine("What i learned today: ");
Console.WriteLine("The IN keyword must be followed by a non-empty list of expressions separated by commas, and also must be enclosed in parentheses");
Console.WriteLine("else you wil have a runtime expection.");
private static void CheckData(string filterCondition)
DataTable dtTest = new DataTable("MyTable");
dtTest.Columns.Add("ID", typeof(string));
dtTest.LoadDataRow(new Object[]{i}, true);
DataView dvTestInClause = new DataView(dtTest,filterCondition, "", DataViewRowState.CurrentRows);
Console.WriteLine("Filter Criteria : " + filterCondition);
Console.WriteLine("No. of rows filtered : " + dvTestInClause.Count);