2010-09-28 8 views
3

У меня есть набор данных, который заполняется из хранимой процедуры на сервере sql. У меня есть столбец, который позволяет использовать набор значений. Я не знаю, что это за ценности. Все, что я знаю, это то, что они типа «строка». Я хочу извлечь все отдельные значения из этого столбца.извлечение данных из набора данных

ответ

2

Вы можете использовать DataView и установить его RowFilter до нужного состояния:

var view = new DataView(dataset.Tables["Table"]); 
view.RowFilter = "Column = 42"; 

UPDATE: на основе обновленной вопрос, вы можете использовать LINQ:

var table = dataset.Tables["Table"].AsEnumerable(); 
var distinctValuesForColumn = 
    table.Select(row => (string)row["Column"]).Distinct(); 
+0

Прошу прощения. Я должен перефразировать мой вопрос. Виноват. У меня есть столбец, который позволяет сказать набор значений. Я не знаю, что это за ценности. Все, что я знаю, это то, что они строки типа. Я хочу извлечь все отличительные значения из этого столбца. Надеюсь, теперь это ясно. – zack

+1

Пожалуйста, обновите сам вопрос, вместо того чтобы давать такую ​​информацию в комментарии. –

+0

Спасибо за идею Jordao. Однако это вызывает у меня ошибку. Он не реконструирует Distinct(). Нужно ли мне менять тип переменной из var на что-то для этого? – zack

0

Вы можете просто использовать метод Select из DataTable:

DataRow[] extractedRows = 
    yourDataSet.Tables["YourTableName"].Select("YourColumnName = 123"); 
+0

Я сожалею. Я должен перефразировать мой вопрос. Виноват. У меня есть столбец, который позволяет сказать набор значений. Я не знаю, что это за ценности. Все, что я знаю, это то, что они строки типа. Я хочу извлечь все отличительные значения из этого столбца. Надеюсь, теперь это ясно. – zack

0

Я надеюсь, что ниже заявление будет служить цели вашей

ds.Tables["TableName"].DefaultView.ToTable(true, "columnName"); //For Dataset (true means distinct) 

ИЛИ

`ds.Tables[0].DefaultView.ToTable(true, "columnName"); 

// Для Dataset, где tableindex является 0

ИЛИ

dt.DefaultView.ToTable(true, "columnName"); //For Datatable 

//Syntax is like Datatable.DefaultView.ToTable(Distinct true/false, “ColumnName”); 

MSDN: http://msdn.microsoft.com/en-us/library/wec2b2e6.aspx

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