2017-02-10 10 views
0

У меня есть задача Авто Сохранение данных через каждые 5 минут, который заполнен более чем одной формой, однако я не хочу сохранять данные в фактическом наборе данных. Основная цель автосохранения заключается в том, что в форме есть много полей, и пользователь набрал подробную информацию, потратив свое драгоценное время, и в течение этого времени, если сервер опустится, приложение сработает, тем самым потеряв введенные данные.Как реализовать функцию автоматического сохранения в Delphi?

Если приложение потерпело крах, то в следующий раз, когда произойдет соединение, появится сообщение: «Вы хотите восстановить потерянные изменения?» после нажатия кнопки «Да» следует отобразить автоматически сохраненную форму.

Just side note моя заявка работает над datasnap модель.

Любые предложения, как это сделать, действительно оценены.

+1

Хорошо звучит, как клиент всегда прав (я думаю, что это бессмысленно). Но я бы записал данные в локальный текстовый файл, если я боялся сбой соединения, вроде как записывать код – Henrikki

+0

@Henrikki «Запись данных в локальный текстовый файл» Предположим, у меня есть 100 компонентов в моей форме, где есть richedit, memo и combobox, тогда как это сделать, поскольку я должен вернуться один раз, если пользователь хочет восстановить, если соединение потеряно, я знал, что мне нужно регистрироваться, но ищу оптимизированный способ справиться с этой ситуацией. – mano

+0

Проверьте этот вопрос на SO http://stackoverflow.com/q/3163586/6371073 – Henrikki

ответ

0

Не уверен, что это вариант, но, возможно, вы можете развернуть приложение с облегченной базой данных (например, SQLite или NexusDB)? Если у вас много форм с большим количеством полей/данных, это позволит сделать проектное решение довольно простым в реализации.

Идея состоит в том, чтобы в вашей локальной базе данных была таблица «черновиков», которая представляет собой плоскую таблицу, которая будет содержать и удерживать все данные, которые вы хотите сохранить, до тех пор, пока транзакции не будут привязаны к базе данных сервера.

Сохраните данные в форме в этой локальной таблице чертежей (так как пользователь вводит их в систему или периодически). Как только транзакции в формах будут привязаны к базе данных сервера, вы можете удалить черновик записи из локальной таблицы чертежей.

Если приложение выходит из строя, и пользователь снова заходит на сайт, вы сможете проверить местную таблицу чертежей и быстро и легко вытащить данные, которые вам нужны обратно.

Надеюсь, это поможет.

 Смежные вопросы

  • Нет связанных вопросов^_^