Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Базы данных под .NET > Сравнение данных в DataSet |
Автор: deinlandel 20.6.2008, 08:37 |
В двух объектах типа DataSet лежат данные в таблицах (рез-ты вып-я запросов). Надо проверить, одни и те же это данные. Есть ли эффективный способ (без перебора в цикле строк таблиц) сравнения? Хотя бы двух таблиц между собой? (пишется некая система тестирования SQL-запросов на корректность - нужные ли данные он возвращает. эталонные данные для сравнения должны быть в XML... у ДатаСетов с этим просто, потому выбрал их) |
Автор: jonie 20.6.2008, 10:22 | ||
лучшее имхо решение это всеже сравнение средставами sql server
но можно сравнить и средставами датасетов... циклами (так решал Гамильтон в сборнике рецептов ADO.NET) возможно серелизовать данные в XML и мутить с ним... также стоит посмотреть на метод merge для DataTable |
Автор: deinlandel 24.6.2008, 09:26 |
Увы, на этапе написания проги ни число, ни названия, ни типы колонок мне неизвестны... так что метод с SQL не подойдет |
Автор: Twwi 25.6.2008, 14:39 |
если интересует только битовый ответ, а не в чем конкретно разница, можно использовать метод Merge() датасета или таблицы. он объединяет данные исключая совпадения. Т.Е. можно посмотреть количество записей в одной таблице, объединить ее со сравниваемой и если число записей не иззмениться, считать что они одинаковы. Смотрите в параметры мерджа. Есть еще метод Equals(), но в работе с данными я не видела примеров. |