列“名称”不属于表

时间:2016-04-05 16:03:03

标签: c# .net dataset

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

这适用于我的大多数数据,但是我知道存在的列会出现“列不属于表”错误。这是调试模式中的错误:

break in debug

正如您所看到的那样,列被称为“hadDataCompromise”。这是当我打破并深入挖掘数据集时出现的列 - >表 - >柱:

enter image description here

为了更好的衡量,我尝试使用我在实际代码中使用的完全相同的语法访问立即窗口中的列,该代码完美地工作,返回预期值:

enter image description here

为什么会发生这种情况的任何线索?似乎没有类似的问题适用于我的问题(大多数问题涉及拼写错误或无关的引号或括号)。同样,代码适用于大多数列,但在这一列上随机中断。谢谢!

1 个答案:

答案 0 :(得分:8)

有一个尾随空间。

enter image description here

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

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