【发布时间】:2014-01-24 14:55:15
【问题描述】:
我在我的 C# 代码中迭代一个 DataTable。我尝试使用名为“row”的行的名为“columnName”的列获取内容 -
object value = row["ColumnName"];
我收到此错误 -
错误:System.Reflection.TargetInvocationException:异常已发生 由调用的目标抛出。 ---> System.ArgumentException:列 'FULL_COUNT' 不属于 table 。在 System.Data.DataRow.GetDataColumn(String columnName)
这怎么可能?我的 SQL 查询/结果集具有该名称的列,查询甚至在管理工作室中运行。
如何解决这个错误?
【问题讨论】:
-
你能发布更多代码吗?
-
请先说明您是如何查询数据库的。您可能还想查看表中的所有列以找出已被选中的内容。
-
@JonSkeet - 好的。我需要更多时间在示例表中复制问题。很快就会做。
-
如果ColumnName是迭代参数,需要填写为
row[ColumnName]。按照您的操作方式,在每次迭代中,它都会在您的列中查找名为 ColumnName 的列。 -
作为错误消息,问题是“没有任何名为
FULL_COUNT的列”,所以我假设您的代码中有这样的行row["FULL_COUNT"],不是吗?否则,请提供完整代码。