DataRow过滤器表达式

时间:2011-08-09 22:16:18

标签: c#

您好我有一个DataSet,它有一个名为Header的表。 Header表有一个名为Long Agency Code的字段。还有一个名为Wage的表,它还有一个名为Long Agency Code的字段。我想根据Header Table中提供的Long Agency Code过滤Wage表。以下代码段如下所示:

DataTable dt = DataSet.Tables["Header"];

                    DataRowCollection headerRowCollection = dt.Rows;

                    foreach (DataRow headerRow in headerRowCollection)
                    {
                        FixedOutputter outputter = GetOutputter("Header", streamWriter);
                        MapElementCollection mapElementCollection = MapUtility.GetMapElementCollection(DataMap, "Header", DataMapFormatters);
                        outputter.OutputSingleRow(headerRow, mapElementCollection);
                        string filterExpression = "Long Agency Code == '" + headerRow["Long Agency Code"] + "'";
                        DataRow[] wageRowCollection = DataSet.Tables["Wage"].Select(filterExpression);

它在最后一行爆炸,显示消息:“语法错误:'代理'运算符后缺少操作数。”

1 个答案:

答案 0 :(得分:3)

[方括号]中的Long Agency Code,并使用一个=而不是==

这是一个不错的参考:http://msdn.microsoft.com/en-us/library/system.data.datacolumn.expression.aspx

在提出Long Agency Code == '(something)'时您使用了哪些来源? (这是错的!)