Состояние TSQLQuery. UpdateStatus, usDeleted

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Состояние TSQLQuery. UpdateStatus, usDeleted

Сообщение Gunter » 06.07.2014 21:15:59

Добрый день.
Использую Lazarus 1.2.2, FPC 2.6.4 в WinXP. БД SQLite3.
На форме есть грид, источник данных TDataSource, датасет TSQLQuery и TDBNavigator.
Задача - определить статус датасета при добавлении, изменении и удалении записи.
Проблема заключается в том, что мне не удается отловить состояние TSQLQuery usDeleted.
При добавлении или изменении записи проблем нет, статус датасета, как и положено, возвращается usInserted, usModified.
При нажатии на кнопку Удалить, и подтверждения удаления записи, запись из грида исчезает, ожидаю статуса usDeleted, но статус датасета возвращается usUnmodified.
Не могу понять, почему такое происходит. Отладчик StepInto в UpdateStatus почему-то не заходит, на breakpoint в TCustomBufDataset.UpdateStatus отладчик не останавливается.(???) Подскажите, пожалуйста, как правильно определить состояние TSQLQuery при добавлении, изменении и удалении записи.

Код: Выделить всё
procedure TForm1.dbnav1Click(Sender: TObject; Button: TDBNavButtonType);
begin
  if button = nbDelete then
  begin
    case qry1.UpdateStatus of
      usUnmodified : ShowMessage('Unmodified');
      usModified   : ShowMessage('Modified');
      usInserted   : ShowMessage('Inserted');
      usDeleted    : ShowMessage('Deleted');
    end;
  end;
end;
Gunter
незнакомец
 
Сообщения: 1
Зарегистрирован: 06.07.2014 20:29:11

Re: Состояние TSQLQuery. UpdateStatus, usDeleted

Сообщение Tango » 25.07.2014 17:59:17

Перенаследовать TSQLQuery или перехватывать кнопки TDBNavigator.
Аватара пользователя
Tango
постоялец
 
Сообщения: 162
Зарегистрирован: 31.05.2012 17:07:30


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 232

Рейтинг@Mail.ru
cron