![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
1147 |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 205 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
Можно ли вернуть в базу данных удаленную строку из таблицы?
Ctrl+z в данном случае не помогает, cancelupdates тоже. Например пользователь случайно выделил не ту строку и удалил ее. Как можно отменить это действие? |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Если ты не работал с "отложенными изменениями" (Batch Updates), то данные утеряны безвозвратно.
|
1147 |
![]()
Сообщение
#3
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 205 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
Нет, с отложенными замисями не работал. Но записи нельзя терять безвозвратно. Ты мог бы по подробней объяснить как этого не допустить?
|
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Тип БД какой? (Paradox/IB/Oracle/...) Метод доступа к данным? (ADO/BDE/ODBC/...)
|
1147 |
![]()
Сообщение
#5
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 205 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
MS Access, ADO
|
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Устанавливаешь в DataSet (что там у тебя, таблица? Значит, ADOTable) свойство LockType в ltBatchOptimistic (что означает пакетные изменения), и добавляешь пару кнопок: "Применить" и "Отменить". Вот с такими обработчиками:
// Это - "Применить" Если теперь удалишь строку из Dataset-а по ошибке, то можно восстановить изменения, нажав на "Отменить". Визуально после удаления строка из Грида исчезнет, фактически из базы - нет, пока не будет применен метод UpdateBatch... Ну, а если уж нажал на "Применить" (второй раз ошибочно? Не может быть, это уже осознанно ![]() |
1147 |
![]()
Сообщение
#7
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 205 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
ясно. Большое спасибо!
|
1147 |
![]()
Сообщение
#8
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 205 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
Допустим, из таблицы было удалено несколько десятков строк. И после этого удаляется одна по ошибке. Нужно вернуть только последнюю удаленную, а таким способом вернутся все строки если при каждом удалении не нажимать "применить".
Нет ли спобоса возвращать удаленные строки не все сразу, а по-одной (по принципу ctrl+z), начиная с последней удаленной? Сообщение отредактировано: 1147 - 19.07.2009 18:27 |
![]() ![]() |
![]() |
Текстовая версия | 8.07.2025 18:29 |