首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# DataTable.Select()

C# DataTable.Select()
EN

Stack Overflow用户
提问于 2017-10-25 10:56:09
回答 1查看 5.1K关注 0票数 0

DataTable.Select("agent=98788")方法在DataTable中执行代理98788时不返回任何行。其他代理正在被过滤,只存在此代理98788的问题。知道为什么没有使用DataTable.Select()方法过滤这个数字吗?

代码语言:javascript
复制
DataTable dt = new DataTable();
dt.Columns.Add("agent", typeof(string));
dt.Columns.Add("shiftdate", typeof(string));
dt.Columns.Add("agentoid", typeof(string));
string sourceAgent = "98788";
string targetAgent = "881757";
dt.Rows.Add("98788","2017-10-27","");
dt.Rows.Add("881757", "2017-10-27", "");


DataRow[] drr1 = dt.Select("agent=" + sourceAgent + "");
DataRow[] drr2 = dt.Select("agent=" + targetAgent + "");

drr1是空的,drr2不是空的。我的困惑是为什么drr2不是空的,drr1是空的。为什么"881757“是可过滤的,而"98788”则不是?C# .Select()方法的行为在所有情况下都应该是相同的,但在我的例子中,它的行为似乎有所不同。它是DataTable.Select()中的一个bug吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-25 11:28:52

您需要使用单引号指定字符串值的筛选器:

代码语言:javascript
复制
DataRow[] drr1 = dt.Select("agent='" + sourceAgent + "'");
DataRow[] drr2 = dt.Select("agent='" + targetAgent + "'");

更多关于DataView RowFilter语法:http://www.csharp-examples.net/dataview-rowfilter/的信息

引用:

文字 字符串值被括在单引号‘’中。如果字符串包含单引号',则必须加倍引用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46930580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档