2013-10-01 94 views
2

这是我的一段代码。找不到列[0]运行时错误

DataSet ds = //assigning to dataSet from stored procedure 

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

做在运行时该操作时

Select("PGroup_strCode = O ") 

IT方面抛出一个错误

“找不到列[O]” - (我犯了一个错误更早它是'O'不是零提到earler)

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

UPDATE:

Select("[Cinema_strID] = ABIC") 

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

+0

你在调试模式检查'dt'有哪些列? – veljasije

+0

是的..它有这个专栏..我改变了在DataTable的表视图中存在的列。对于所有的列它给出了这个相同的错误:( – shanmugharaj

+0

你检查了列拼写和它的返回类型吗? – Rohit

回答

5

您在使用数据表的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 
+0

选择(string.Format(“Cinema_strID ='{0}'”,“ ABIC“​​)。 我只是试过了。谢谢。 – shanmugharaj

0

您的代码会工作,如果列内容为整数。 如果是字符串,你应该像下面这样做

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