Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Логирование вставки и редактирования записи, На какие события это лучше производить? 
:(
    Опции темы
malor
  Дата 1.11.2011, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Например, вы открыли форму, для того чтобы ввести поля новой записи.
Заполнили все, что требовалось. На каком событии делать запись в лог-таблицу?

При таком коде :
Код
procedure TDataModule.ADOTable1AfterPost(DataSet: TDataSet);
var
  SQLText : String;
begin

  SQLText := 'INSERT INTO log (textmessage) VALUES (''В таблицу такую-то вставлена запись. Поле такое-то равно : ' +   ADOTable1.FieldByName('name').AsString) + ''' ';

  try
    with ADOQuery1 do
    begin
      SQL.Clear;
      SQL.Add(SQLText);
      ExecSQL;
    end;
  except
     on e:Exception do
  end;

end;

вероятно и обычное редактирование уже присутствующей записи спровоцирует логирование ?

Это сообщение отредактировал(а) malor - 1.11.2011, 18:13
PM MAIL   Вверх
maloicds
Дата 8.11.2011, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 20.10.2009
Где: Москва

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



Попробуй использовать режим работы таблицы т.е 
Код

if AdoTable1.State in [dsInsert] then

либо 
Код

with DataSet do
begin
  if State in [dsEdit,dsInsert] then
    Post;
  ApplyUpdates;
  CommitUpdates;
end;

PM MAIL   Вверх
Akella
Дата 9.11.2011, 16:48 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(malor @  1.11.2011,  18:05 Найти цитируемый пост)
 На каком событии делать запись в лог-таблицу?

Если СУБД поддерживает триггеры, то я бы сделал на триггерах.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0437 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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