这是我的一段代码。
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]
答案 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'")