Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаление записи. Отменить удаление, ADO/Access 
V
    Опции темы
neweraser
Дата 8.11.2009, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 17.2.2008

Репутация: нет
Всего: 6



Код

  Table1.Delete;

удаляет текущую запись, как можно отменить удаление?
Код

Table1.Cancel;

здесь не помогает

Это сообщение отредактировал(а) neweraser - 8.11.2009, 15:54


--------------------
Кто ищет, тот всегда найдет.
PM MAIL ICQ Skype   Вверх
Данкинг
Дата 8.11.2009, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(neweraser @  8.11.2009,  15:52 Найти цитируемый пост)
как можно отменить удаление?

Никак. smile В более "продвинутых" СУБД вроде FireBird можно отменить транзакцию, а здесь...


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
neweraser
Дата 8.11.2009, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 17.2.2008

Репутация: нет
Всего: 6



хм.. а что же делать, если у меня в окошке редактирования кнопки ОК и отмена, любое изменение кроме удаления отменяется, как тут можно еще поступить?

Добавлено через 11 минут и 46 секунд
или может можно удаляемые строки (если допустим пользователь удалил не одну, а несколько строк, а потом нажал отмена) копировать в динамический массив, а потом из него вставлять? хотя тоже наверно не подойдет, данные то разных типов.. или сделать такую же таблицу, а потом из нее восстанавливать, только как сделать я не знаю  smile 


--------------------
Кто ищет, тот всегда найдет.
PM MAIL ICQ Skype   Вверх
Данкинг
Дата 8.11.2009, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



neweraser, как вариант: сделать логическое поле, в котором строки, готовые к удалению, будут отмечаться TRUE. Когда пользователь выберет строки и нажмёт "удалить", то эти строки уже физически удаляются из таблицы.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
neweraser
Дата 8.11.2009, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 17.2.2008

Репутация: нет
Всего: 6



Данкинг, смысл понял, создал поле, при нажатии на кнопку удалить оно становиться как true, только как теперь найти все поля с true и удалить, допустим 10 строк, 3, 5 и 7 удаляют, как их теперь найти? перебирать все? как? smile


--------------------
Кто ищет, тот всегда найдет.
PM MAIL ICQ Skype   Вверх
Данкинг
Дата 8.11.2009, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



neweraser, AdoQuery+ запросик:
Код

AdoQuery.Close;
AdoQuery.Clear;
AdoQuery.SQL.Add('delete from TABLE where POLE is true');
AdoQuery.ExecSQL;

Насчёт синтаксиса "POLE is true" в Access не уверен, сам проверь. smile 




--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
neweraser
Дата 8.11.2009, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 17.2.2008

Репутация: нет
Всего: 6



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


--------------------
Кто ищет, тот всегда найдет.
PM MAIL ICQ Skype   Вверх
Данкинг
Дата 8.11.2009, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(neweraser @  8.11.2009,  21:42 Найти цитируемый пост)
DBLookUpCombobox

Эм... Я с ним никогда не работал, ничего не могу посоветовать. smile Видимо, в данном случае такой совет не годится, но в принципе можно номера строк сохранять в массиве (надеюсь, уникальный номер у строк имеется). smile 

Это сообщение отредактировал(а) Данкинг - 8.11.2009, 22:37


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
neweraser
Дата 8.11.2009, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 17.2.2008

Репутация: нет
Всего: 6



не, совет годится smile просто я вопрос не так поставил, да и думаю вообще зря поставил, тут же по всей таблице так, если меняешь значения только в строке - то можно отменить изменения, если меняешь по всей таблице то нет.... думаю можно скопировать всю таблицу и работать с ней (плохо только то что это очень криво, но небольшой размер таблиц думаю будет позволять), а потом уже заменять или не заменять ее в зависимости от того приняли изменения или нет, но это уже другой вопрос


--------------------
Кто ищет, тот всегда найдет.
PM MAIL ICQ Skype   Вверх
Данкинг
Дата 8.11.2009, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(neweraser @  8.11.2009,  23:26 Найти цитируемый пост)
думаю можно скопировать всю таблицу и работать с ней (плохо только то что это очень криво, но небольшой размер таблиц думаю будет позволять)

Согласен, криво.  smile Главное, базу сжимать не забывать. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
neweraser
Дата 8.11.2009, 23:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 17.2.2008

Репутация: нет
Всего: 6



короче буду делать совсем по-другому  smile на форме не будет кнопки Отмена  smile перед удалением просто будет спрашивать удалить или не, и тем более это всего лишь курсовик, а не супер какая программа, помечаю вопрос решенным smile


--------------------
Кто ищет, тот всегда найдет.
PM MAIL ICQ Skype   Вверх
Данкинг
Дата 9.11.2009, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(neweraser @  8.11.2009,  23:55 Найти цитируемый пост)
и тем более это всего лишь курсовик

Тогда главное препода убедить. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
kovalenko123
Дата 20.11.2009, 07:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 12.5.2008

Репутация: нет
Всего: 1



метод cansel работает тока до того как не запостил строку (post) например
добавляешь записи обычным способом тока без поста если в друг понадобиться отмена то нажимаешь кнопку cancel (запись отмениться) если все нормально то мона на зыкрытие формы поставить пост 

кнопка добавить
Код

with dm.lesson do begin
Insert;
fieldbyname('Название_урока').AsString:= edit1.text;
fieldbyname('Фио_учителя').AsString:= edit2.text;
fieldbyname('Всего_часов').AsInteger:= strtoint(edit3.text);
//post; при записи не постишь
end;


Кнопка отмена
Код

dm.lesson.cancel;


и при закрытии (onclose)
Код

dm.lesson.post;



PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0758 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.