0
正如我清楚地提到的那样,我正在尝试使用单引号的过滤器文本过滤数据表。当过滤器文本有单引号时,行过滤失败
我声明如下
dgURComments.ItemsSource).ToTable().Select("URComments = '" + txtComments.Text.Trim() + "'");
我怎样才能从这个克服?
正如我清楚地提到的那样,我正在尝试使用单引号的过滤器文本过滤数据表。当过滤器文本有单引号时,行过滤失败
我声明如下
dgURComments.ItemsSource).ToTable().Select("URComments = '" + txtComments.Text.Trim() + "'");
我怎样才能从这个克服?
而是用DataTable.Select
左右摆弄我会用Linq-To-DataSet
:
IEnumerable<DataRow> rows = tbl.AsEnumerable()
.Where(r => r.Field<String>("URComments") == txtComments.Text.Trim());
如果您需要过滤的结果DataTable中,你可以使用CopyToDataTable
DataTable tblFiltered = rows.CopyToDataTable();
的最低要求是参考到System.Core.dll
和使用指令System.Linq
。默认情况下,如果您创建新的Visual C#2008项目,则会提供这些项目。 LINQ to DataSet
还需要参考System.Data.dll
和System.Data.DataSetExtensions.dll
以及使用指令。
真棒。作品完美无瑕!非常感谢 –
可能的重复[如何在传递给DataTable Select()的字符串中包含撇号?](http://stackoverflow.com/questions/4906384/how-do-i-include-an-apostrophe-在字符串传递到数据表中选择) – Rawling
说“它失败”没有帮助。你应该总是描述它是如何失败的,抛出了什么样的例外,观察到的结果与预期的结果相比,等等。 – Chris