2013-10-01 120 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 + "'"); 
相關問題