Обновление базы данных по нажатию кнопки, после редактирования вида сетки (не сохраняется автоматически в БД, но после подтверждения какого-либо события) в рамках использования транзакций - PullRequest
0 голосов
/ 02 апреля 2010

0 голосовать за звездочку

Я использую GridView в asp .net и редактирую данные с помощью свойства поля команды edit (как мы знаем после обновления отредактированной строки, мы автоматически обновляем базу данных), и я хочу использовать транзакции (с оператором begin to commit - включая откат), чтобы зафиксировать этот запрос на обновление в базе данных, после нажатия какой-либо кнопки (например, после некоторых событий), а не для автоматической вставки или обновления отредактированных данных из сетки непосредственно в БД ... поэтому я хочу сохранить их где-нибудь временно ( даже много отредактированных строк - не только одной строки), а затем для подтверждения транзакции - для обновления реальных таблиц в базе данных ...

Я использовал несколько хороших ссылок, но очень полезных, например:

http://www.asp.net/learn/data-access/tutorial-63-cs.aspx

http://www.asp.net/learn/data-access/tutorial-66-cs.aspx и т.д ... и т.д ...

1 Ответ

3 голосов
/ 02 апреля 2010

Ну, есть много вариантов для сохранения данных, сессии, кэша, файла XML, но вы должны быть осторожны, чтобы поддерживать связь между кэшированными данными и пакетным процессом. Сессия или кеш вы должны быть обеспокоены таймаутами; Дисковый ввод-вывод довольно безопасен, хотя вам просто нужно поддерживать связь между сохраненными данными и пользователем. Как долго вы хотите сохранить предыдущие записи?

Другие вещи, которые следует учитывать, это что, если они закроют браузер и вернутся? Вы можете привязать данные к идентификатору сеанса пользователя, но если этот сеанс закрывается или перезапускается (ввод нового идентификатора), пользователю придется начинать все сначала ...

Вы можете привязать данные к имени пользователя, если вам требуется аутентификация, а затем просто прочитать файлы из сеанса, кэша, дискового ввода-вывода и т. Д., Чтобы получить ранее сохраненные данные, и перезагрузить их, когда они вернутся. Это зависит от того, как долго вы хотите хранить данные, естественно ли истекает время ожидания, если они не могут его отправить? Если через два дня они смогут вернуться и начать с того места, где остановились?

НТН.

...