Как обнаружить любые изменения, которые происходят в базе данных SQL Server?

У меня есть приложение, использующее TADODataSet а также TADOConnection соединиться с базой данных SQL Server.

Я хотел бы обнаружить любые изменения, которые происходят в базе данных.

Изменения = Вставить, Обновить, Удалить

Я хочу знать какой TADODataset или какая таблица была изменена.

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

Также я хочу, чтобы это построить журнал.

Я не хочу использовать TTime продолжать следить за изменениями.
Я не хочу использовать триггеры

Я предпочитаю сообщение от TADOConnection,

Я использую SQL Server 2005 и Delphi 2007 с компонентами ADO.

Новая модификация: мне нужно на SQL Server 2000

С уважением.

1 ответ

Возможно, не тот ответ, который вы ожидаете, но я думаю, что вы должны оценить Bold для Delphi. Мой работодатель Attracs успешно использовал Bold более десяти лет в большом многопользовательском приложении. У Bold есть много функций, которые упрощают разработку, когда приложение растет и все становится действительно сложным. В настоящее время Bold не поддерживает Unicode, поэтому его можно использовать только с D2007 или старше. Но у нас есть планы исправить это в будущем.

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

Для получения дополнительной информации о Bold см. Мой блог на Boldfordelphi.

Другие вопросы по тегам