|
3 / 3 / 2
Регистрация: 31.10.2017
Сообщений: 35
|
|
Проверка на сохранение перед закрытием приложения22.12.2017, 10:30. Показов 4281. Ответов 4
Метки нет (Все метки)
Доброго времени суток
Ситуация такая: Приложение c# winform подключенное к sql серверу. Как сделать проверку перед закрытие приложения на сохранение изменений(если таковые были) в базе? как в том же excel допустим: Вы хотите сохранить изменения? Сохранить--Выйти без сохранения--Отмена Но excel выдает этот вопрос только при внесении изменений в файл. хочу так же ![]() Подскажите ^_^
0
|
|
| 22.12.2017, 10:30 | |
|
Ответы с готовыми решениями:
4
Сохранение информации перед закрытием
Нужно ли вызывать Dispose() перед закрытием приложения |
|
138 / 137 / 42
Регистрация: 26.10.2012
Сообщений: 443
|
|
| 22.12.2017, 11:30 | |
|
ZanydaZanydnaya, отслеживайте изменения данных в Вашей модели. Например, подписываясь на события связанных компонентов, отображающих данные. Перед закрытием приложения проверяйте наличие изменений в модели. Если есть, то сохраняйте их в бд.
1
|
|
|
360 / 287 / 76
Регистрация: 21.06.2016
Сообщений: 1,115
|
|
| 22.12.2017, 12:15 | |
Сообщение было отмечено ZanydaZanydnaya как решение
Решение
Павлик Морозов, Была у меня такая же задача. Думал пойти по Вашей логике (события изменения в контролах), но потом отказался.
Для примера: в текстбоксе с БД отображается число 2, пользователь поменял на 3, потом поменял обратно на 2. Событие сработало, но изменений не было - нужно ли сохранять такое? - Я для себя (субъективно ИМХО) решил что не стоит дергать сиквел для тех данных, что физически не поменялись (хоть логически и были изменения). Поэтому я в момент закрытия формы делал проверку - текущее состояние модели != скачанное с БД по все своим полям, а по таблицам - делал проверку на GetChanges(). Для пары десятков контролов и таблиц - проверка занимала считанные милисекунды - меня устроило.
1
|
|
|
3 / 3 / 2
Регистрация: 31.10.2017
Сообщений: 35
|
|
| 22.12.2017, 12:27 [ТС] | |
|
Пока не знаю как сделать, но буду пробовать! спасибо!
0
|
|
|
360 / 287 / 76
Регистрация: 21.06.2016
Сообщений: 1,115
|
|
| 22.12.2017, 13:13 | |
|
Если совсем по простому - есть класс-модель, в нем есть, допустим для упрощения, 2 поля - типа int и типа string.
Я в классе организовал свой метод Equals() для 2-ух экземпляров этого класса, в котором сравнивал поштучно все свои поля. Далее при приёме данных с сиквела маппил их в 2 экземпляра класса, old и new, new связывал с формой, а old оставался как есть, загруженый с БД. При закрытии формы просто сравнивал эти 2 экземпляра между собой, если есть различия - значит изменения были, если нет - то их не было физически. От этого строил дальнейшую логику.
1
|
|
| 22.12.2017, 13:13 | |
|
Помогаю со студенческими работами здесь
5
Проверка содержимого TextBox перед закрытием формы
Действие перед закрытием приложения Проверка пустых полей перед закрытием формы
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|