【问题标题】:Column "name" does not belong to table列“名称”不属于表
【发布时间】:2016-04-05 16:03:03
【问题描述】:

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

这适用于我的大部分数据,但对于我知道存在的列,我收到“列不属于表”错误。这是调试模式下的错误:

如您所见,该列的问题名为“hadDataCompromise”。这是我打破并深入研究 DataSet -> Table -> Column 时显示的列:

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

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

【问题讨论】:

    标签: c# .net dataset


    【解决方案1】:

    有一个尾随空格老兄。

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

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

    【讨论】:

    • Welp,我不知道该笑还是该哭。我会去添加 Trim() 然后对我的数据人大喊大叫。
    猜你喜欢
    • 2014-07-03
    • 1970-01-01
    • 2021-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-29
    • 1970-01-01
    相关资源
    最近更新 更多