Обновляйте базу данных при нажатии кнопки, после редактирования gridview (без автоматического сохранения в базе данных, но после подтверждения по какому-либо событию) в рамках использования транзакций

StackOverflow https://stackoverflow.com/questions/2566178

Вопрос

0 проголосовавших против звезды

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

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

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

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

Это было полезно?

Решение

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

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

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

ХТХ.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top