我有一个从BLL(我的控件之外)作为DataSet返回的数据.我知道它只占用了相关表的一行,所以我这样访问它:_appData = myDataSet.Tables["TableName"].Rows[0].然后,我通过使用列名称调用该行来访问各个数据点:_appData["ColumnName"].ToString().
这适用于我的大多数数据,但我知道存在的列有一个"列不属于表"错误.这是调试模式中的错误:
正如您所看到的那样,列被称为"hadDataCompromise".这是当我打破并深入挖掘DataSet - >表 - >列时出现的列:
为了更好地衡量,我尝试使用我在实际代码中使用的完全相同的语法访问立即窗口中的列,该代码完美地工作,返回预期值:
任何线索为什么会发生这种情况?似乎没有类似的问题适用于我的问题(大多数问题涉及拼写错误或无关的引号或括号).同样,代码适用于大多数列,但在这一列上随机中断.谢谢!
有一个尾随空间的家伙.
private string Retrieve(string columnName)
{
return _appData[columnName.Trim()].ToString();
}
Run Code Online (Sandbox Code Playgroud)
该.Trim()功能很好,但您应该检查传递的名称来源.