列abc不属于表?

Ste*_*eam 13 .net c# datatable

我在我的C#代码中迭代一个DataTable.我尝试使用 - 名为"row"的行名为"columnName"的列使用 - 获取内容

object value = row["ColumnName"];
Run Code Online (Sandbox Code Playgroud)

我收到此错误 -

错误:System.Reflection.TargetInvocationException:调用目标已抛出异常.---> System.ArgumentException:列'FULL_COUNT'不属于表.在System.Data.DataRow.GetDataColumn(String columnName)

这怎么可能 ?我的SQL查询/结果集具有该名称的列,查询甚至可以在管理工作室中运行.

我该如何解决这个错误?

AaA*_*AaA 16

我猜你的代码是迭代应该是这样的

DataTable table = new DataTable();
foreach (DataRow row in table.Rows) {
    foreach (DataColumn col in table.Columns) {
        object value = row[col.ColumnName];
    }
}
Run Code Online (Sandbox Code Playgroud)

如果是这种情况,则row["ColumnName"]在每次迭代中查找具有名称的同一列,ColumnName该列显然不存在于表中.

正确的方法是row[ColumnName]或者row[col.ColumnName]在上面的迭代