2016-02-05 4 views
0

Вот мой код,Dataset

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*'"; 

Здесь я получаю полную строку для идентификатора 9001. Мне нужно только одно значение столбца для этого идентификатора.

+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

Мне не нужна целая строка Мне нужно только одно значение из строки для id 9001 – Siddhi

+1

Итак, возьмите значение, которое вам нужно с ** rows [0] ["ColumnName"] ** В чем проблема? – mybirthname

+0

Извините, я не получил u, can u plese дает один пример – Siddhi

Смежные вопросы