Лучший отвечающий
Работа с БД --- таблицы, связи и ключи в DataSet

Вопрос
-
Здравствуйте.
Разрабатываю приложение: Среда Visual Studio, язык C#, БД Firebird Embedded (встраиваемая).
Хотелось бы прояснить для себя несколько вопросов. Помогите, пожалуйста, разобраться.
Заполняю DataTable в DataSet с помощью OleDbDataAdapter.Fill().
1) Если буду создавать и заполнять данными в DataSet не одну таблицу, а все находящиеся в БД таблицы, то связи между таблицами DataTable нужно будет создавать заново в DataSet (с помощью DataRelation, например) или есть способ автоматически отобразить всю структуру БД со всеми таблицами, связями и данными? Как быть с ключами в таблицах – тоже отмечать, что поле является ключом в DataTable нужно заново в приложении?
2) Если в приложении произвести изменение данных в DataSet – передачу этих данных обратно в БД производить с помощью выполнения отдельных SQL запросов (применяя функции OleDbDataAdapter.Update(), TableAdapter.Update(), OleDbCommand.Execute...())? Или все же можно каким-то образом связать DataSet c БД чтобы, производя в приложении изменения данных в DataSet, автоматически изменялись соответствующие данные и в БД??
Как сделать правильнее? Какие существуют подходы?
Спасибо всем ответившим.
- Перемещено Tagore Bandlamudi 2 октября 2010 г. 22:04 MSDN Forums consolidation (От:Разработка Windows-приложений)
8 октября 2009 г. 15:34
Ответы
-
Нужно организовать сложную привязку данных, и связи при обновлении таблиц портится не должны.
Связывание данных и Windows Forms- Предложено в качестве ответа I.Vorontsov 12 октября 2009 г. 4:41
- Помечено в качестве ответа Moiseev Stanislav 12 ноября 2009 г. 14:20
9 октября 2009 г. 5:59
Все ответы
-
Нужно организовать сложную привязку данных, и связи при обновлении таблиц портится не должны.
Связывание данных и Windows Forms- Предложено в качестве ответа I.Vorontsov 12 октября 2009 г. 4:41
- Помечено в качестве ответа Moiseev Stanislav 12 ноября 2009 г. 14:20
9 октября 2009 г. 5:59 -
Спасибо за ссылку. Постараюсь разобраться.
9 октября 2009 г. 9:00