Поиск в наборах данных

не забывайте что b dataset

Когда вы заполните набор данных, вам часто бывает нужна возможность поиска и выбора данных внутри него, либо для выполнения обновлений или обработки на каком-то подмножестве данных, либо для целей отображения. Не забывайте, что DataSet И родственные ему классы не предназначены для использования в качестве высокоэффективной машины запросов. Хотя вы можете выбирать и фильтровать данные в таблице данных на стороне клиента, во многих случаях может оказаться быстрее просто исполнить новый, более специализированный запрос к базе данных, чтобы получить специфические результаты, которые вы ищете. Это особенно верно при работе с локальным экземпляром базы данных, таким, как база данных SQL Express. Однако если данные уже находятся в памяти в DataSet, И вы хотите выбрать некоторые элементы, не путешествуя к базе данных и обратно, можно применить несколько подходов. Простейшим является использование метода Select Класса DataTable, Позволяющий исполнять SQL-подобные запросы к данным, содержащимся в таблице. Вы можете также использовать псевдотаблицы, чтобы фильтровать данные в соответствии с критериями отбора, либо использовать класс XmlDataDocument, Чтобы загрузить данные в контейнер XML-документа и исполнять на них запросы XPath. У метода Select Есть несколько перегрузок, которые позволяют вам искать по строковому критерию, напоминающему предложение WHERE в SQL, и опционально передавать порядок сортировки или перечисление DataRowviewState, Чтобы искать среди записей в определенном состоянии или состояниях. Метод Select Возвращает массив объектов DataRow, Содержащих ссылки на строки, удовлетворяющие критерию отбора. Как только вы получите этот массив строк, вы можете итерировать их и производить над ними любую необходимую обработку. Вы работаете с живыми ссылками на действительные строки в наборе данных, поэтому любые сделанные в них изменения немедленно повлияют на данные в наборе данных. Следующий код показывает операцию Select На наборе данных Customers с использованием двух перегрузок метода.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *