我的应用程序有一个填充的数据表,并通过设置datasource属性将其绑定到ddatagridview。
在运行时,我想过滤此表。当用户单击按钮时,我运行以下代码:
dataManager.VDMSTables.DataTable.DefaultView.RowFilter = column + " LIKE '%" + criteria + "%'";
正确填充所有类。在运行时,当我到达此行时,我收到以下错误消息:
语法错误:'Data'运算符后缺少操作数。我用于构建rowfilter的变量已正确填充。即使我硬编码一个字符串,我仍然会得到同样的错误。为什么呢?
答案 0 :(得分:2)
当您在调试器中查看时,您构建的实际字符串是什么样的? “数据”这个词没有显示在那里,是吗?
如果是这样,那么它告诉你数据是一个保留字,你需要将其标记为这样。如:
dataManager.VDMSTables.DataTable.DefaultView.RowFilter
= String.Format("[{0}] LIKE '%{1}%'"
, column
, YourSingleQuoteEscape(criteria) );
这会产生:
"[Data] like '%strawberries%'"
...应该为你的RowFilter正确解析。