|
Обновление данных в TableAdapter
|
|||
---|---|---|---|
#18+
Всем добрый день, Подскажите плиз. Есть БД Access. Есть форма на которой размещен DataGridView. Подключаюсь к БД через привязку BindingSource. Когда работаешь с TableAdapter с обычной таблицей. При написании кода у TableAdapter присутствует метод Update. Код: vbnet 1.
Когда привязываешь TableAdapter не к таблице а к "Представлению", или создаешь новый TableAdapter состоящий из нескольких таблиц в Конструкторе данных. метод Update для TableAdapter становиться недоступен. Использую этот метод для внесение всех изменений из BindingSource в Базу данных. т.е. на форме есть кнопки "Удалить" Новый" "Сохранить"(сохранить все изменения) "Отменить" Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37.
Как записать внесенные в BindingSource изменения? Или как можно сохранять и отменять изменения произведенные в DataGrid? Если Я что-то делаю неправильно посоветуйте пожалуйста ваш метод работы DB to DataGridView(full function) to BD. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2013, 11:33 |
|
Обновление данных в TableAdapter
|
|||
---|---|---|---|
#18+
1. Выгружал данные ридером в свою коллекцию (можно и датасет), показывал в гриде, затем при изменении данных в коллекции отдельными коммандами изменял данные в таблице (редактирование, добавление в отдельной форме). Если Изменение успешно - то делал соответствующее изменение в коллекции, хотя можно ее перечитывать заново для соответствующих быстро изменяющихся данных, но падает время. Плюс если данные грузятся долго то грузил в фоновом потоке, если их к тому-же много, то выдавал порциями, но это все сугубо индивидуально.... 2. На подобие того как ты делал, но это просто чтоб побыстрее. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2013, 15:59 |
|
Обновление данных в TableAdapter
|
|||
---|---|---|---|
#18+
Mablion, Для тех случаев, когда обновить данные требуется в одной таблице: Формирую для TableAdapter команды Insert,Update,Delete,Select (автоматом), потом заменяю Select на то, что мне нужно(хранимку/представление/запрос). Чтобы отменить все изменения (до последнего вызова TableAdapter.Update), воспользуйтесь методом DataTable.RejectChanges() Для справки В DataTable хранятся первоначальные значения даже после сохранения изменений Отслеживать добавленные,удаленные,измененные записи можно с помощью DataRow.RowState ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2013, 18:59 |
|
|
start [/forum/topic.php?fid=20&msg=38471780&tid=1403655]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
58ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 154ms |
0 / 0 |