列 "name" 不属于 table

Column "name" does not belong to table

我有作为数据集从 BLL(在我的控制之外)返回的数据。我知道它只占用相关 table 的一行,所以我是这样访问它的:_appData = myDataSet.Tables["TableName"].Rows[0]。然后,我通过使用列名称调用该行来访问各个数据点:_appData["ColumnName"].ToString().

这对我的大部分数据都适用,但我收到一个我知道存在的列的 "column does not belong to table" 错误。这是调试模式下的错误中断:

如您所见,该列的问题称为 "hadDataCompromise." 这是当我分解并挖掘数据集时显示的列 -> Table -> 列:

并且为了更好地衡量,我尝试访问即时 Window 中的列,使用我在实际代码中使用的完全相同的语法,它运行良好,返回预期值:

有任何线索说明为什么会发生这种情况吗? None 的类似问题似乎适用于我的问题(其中大部分涉及拼写错误或多余的引号或括号)。同样,该代码对于大多数列都可以正常工作,但在这一列上会随机中断。谢谢!

后面有一个 space 伙计。

private string Retrieve(string columnName)
{
    return _appData[columnName.Trim()].ToString();
}

.Trim() 函数很好,但您应该检查您传递的名称的来源。