2016-02-05 77 views
0

这里是我的代码,数据集过滤方法

Conn.Open(); 
DataTable dt = new DataTable(); 
DataSet ds = new DataSet(); 
SqlCommand sqlCmd = new SqlCommand("SELECT * from CurrentDataCR ",Conn); 

SqlDataAdapter sqlDa = new SqlDataAdapter(sqlCmd); 

sqlDa.Fill(ds); 

ds.Tables[0].DefaultView.RowFilter = " mst_remote_station_id Like'*9001*'"; 

我在这里得到完整的行id的9001我需要为这个ID只有一个值。

+0

难道你不能只在你的查询中选择你需要的列吗? – Matheno

回答

1
DataRow[] rows = ds.Tables[0].Select("mst_remote_station_id Like '%9001%'"); 

如果您只需要一行,只需在初始查询中选择它即可。

另外你应该在使用它之后配置SqlDataAdapter!您可以使用块

Conn.Open(); 

DataSet ds = new DataSet(); 
SqlCommand sqlCmd = new SqlCommand("SELECT * from CurrentDataCR ",Conn); 

using(SqlDataAdapter sqlDa = new SqlDataAdapter(sqlCmd)) 
{ 
    sqlDa.Fill(ds); 
} 
ds.Tables[0].Select("mst_remote_station_id Like '%9001%'"); 

我不知道,如果连接是全球做,但它是不好的做法,使用全局连接,你必须连接池,以便使用为每个查询单独的连接。

+0

我不需要整行我只需要从行的一个值为编号9001 – Siddhi

+1

因此,采取您需要的值与行[0] [“ColumnName”] **问题是什么? – mybirthname

+0

对不起,我没有得到你,你可以举一个例子 – Siddhi