找不到Column [0]运行时错误

时间:2013-10-01 06:03:50

标签: c# .net

这是我的一段代码。

DataSet ds = //assigning to dataSet from stored procedure

DataTable dt = ds.Tables[0]; // It has data i checked in debugging..

在运行时执行此操作

Select("PGroup_strCode = O ")

抛出错误

  

“找不到列[O]” - (我之前犯了一个错误,就像所提到的那样'O'不为零)

该列也存在。无法弄清楚原因。

更新:

Select("[Cinema_strID] = ABIC")

在选择部分我改变了这个现在错误是找不到列[ABIC]

3 个答案:

答案 0 :(得分:5)

使用Datatable select语句时必须小心。

请试试这个

DataRow[] DataDR= ds.Tables[0].Select("[Cinema_strID]='ABIC'");

OR

DataRow[] DataDR= ds.Tables[0].Select(ds.Tables[0].Columns[1].ColumnName.Trim()+"='ABIC'"); // But this is only when you are sure that the column position wont change in the future

答案 1 :(得分:0)

如果列内容为整数,您的代码将起作用。 如果它是字符串,你应该做类似下面的事情

    string searchVal =  "dummy ID"
    DataRow[] DataDR= ds.Tables[0].Select("ColoumnName= " + "'" + searchVal    + "'");

答案 2 :(得分:0)

尽管这是一个古老的问题,但可以为以后的访客提供帮助: 如果是字符串,则需要提供值以使用单引号/撇号进行过滤,即'ABIC'

dt.Select("Cinema_strID = 'ABIC'")