2016-02-05 119 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