powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как я могу известить программу на VB что в таблице появился New Record ?
11 сообщений из 11, страница 1 из 1
Как я могу известить программу на VB что в таблице появился New Record ?
    #32050936
Kesha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как я могу известить программу на VB что в таблице появился New Record ?
...
Рейтинг: 0 / 0
Как я могу известить программу на VB что в таблице появился New Record ?
    #32050943
DLS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DLS
Гость
Наиболее простой способ- проверять по таймеру кол-во записей:
select count(*) from table
...
Рейтинг: 0 / 0
Как я могу известить программу на VB что в таблице появился New Record ?
    #32050948
Kesha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С timer я сделал, я думал что есть что-нибудь более быстрое.Так приходится часто подключатся.
...
Рейтинг: 0 / 0
Как я могу известить программу на VB что в таблице появился New Record ?
    #32050954
one_time
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Try to use events and asyncronous recordset. This model work fine and can inform you that some records inserted or updated.
...
Рейтинг: 0 / 0
Как я могу известить программу на VB что в таблице появился New Record ?
    #32050962
Kesha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно по подробней . Насчет asyncronous я понял , а вот как он сообщает об изменениях ? И мне нужно только inserted New Record .
...
Рейтинг: 0 / 0
Как я могу известить программу на VB что в таблице появился New Record ?
    #32051045
one_time
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ADO 2.7 API Reference

See Also
Visual C++ Example

ADO Event Handler Summary

Applies To: Recordset Object

WillChangeRecordset and RecordsetChangeComplete Events

The WillChangeRecordset event is called before a pending operation changes the Recordset. The RecordsetChangeComplete event is called after the Recordset has changed.

Syntax
WillChangeRecordset adReason, adStatus, pRecordset
RecordsetChangeComplete adReason, pError, adStatus, pRecordset

Parameters
adReason

An EventReasonEnum (see below) value that specifies the reason for this event. Its value can be adRsnRequery, adRsnResynch, adRsnClose, adRsnOpen.

adStatus
An EventStatusEnum status value.
When WillChangeRecordset is called, this parameter is set to adStatusOK if the operation that caused the event was successful. It is set to adStatusCantDeny if this event cannot request cancellation of the pending operation.

When RecordsetChangeComplete is called, this parameter is set to adStatusOK if the operation that caused the event was successful, adStatusErrorsOccurred if the operation failed, or adStatusCancel if the operation associated with the previously accepted WillChangeRecordset event has been canceled.

Before WillChangeRecordset returns, set this parameter to adStatusCancel to request cancellation of the pending operation or set this parameter to adStatusUnwantedEvent to prevent subsequent notifications.

Before WillChangeRecordset or RecordsetChangeComplete returns, set this parameter to adStatusUnwantedEvent to prevent subsequent notifications.

pError
An Error object. It describes the error that occurred if the value of adStatus is adStatusErrorsOccurred; otherwise it is not set.
pRecordset
A Recordset object. The Recordset for which this event occurred.
Remarks
A WillChangeRecordset or RecordsetChangeComplete event may occur due to the Recordset Requery or Open methods.

If the provider does not support bookmarks, a RecordsetChange event notification occurs each time new rows are retrieved from the provider. The frequency of this event depends on the RecordsetCacheSize property.

You must set the adStatus parameter to adStatusUnwantedEvent for each possible adReason value in order to completely stop event notification for any event that includes an adReason parameter.

--------- cut here

EventReasonEnum
Specifies the reason that caused an event to occur.

Constant Value Description
adRsnAddNew 1 An operation added a new record.

--------- cut here

Sorry if i'm not quite right.
...
Рейтинг: 0 / 0
Как я могу известить программу на VB что в таблице появился New Record ?
    #32051111
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверять количество записей в таблице - не совсем корректно. если я удалил запись и тут же добавл новую, то количество записей не изменится.
Можно на все таблицы на Insert навешать триггеры, которые будут модифицировать в специальной вспомогательной таблице запись со вспомогательным timestamp полем. Вспомогательная таблица будет содержать по одной записи на каждую из основных таблиц. По изменению поля timestamp пожно определить, что в таблицу добавлены записи.
Есть еще один механизм, который автоматически использует ADO, если через него ведется работа с таблицей, имеющей PK с identity. Достаточно опросить identity данной таблицы. Если оно не соответствует тому, которое было "видно" при последнем опросе, значит в таблицу кто-то добавил новую запись.
...
Рейтинг: 0 / 0
Как я могу известить программу на VB что в таблице появился New Record ?
    #32051124
Kesha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
identity не подходит так как в таблице данные постоянно меняются .
...
Рейтинг: 0 / 0
Как я могу известить программу на VB что в таблице появился New Record ?
    #32051148
VAT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Identity меняется только при insert
...
Рейтинг: 0 / 0
Как я могу известить программу на VB что в таблице появился New Record ?
    #32051150
Andrew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To one_time

A WillChangeRecordset or RecordsetChangeComplete event may occur due to the Recordset Requery or Open methods.

Это совсем не то что заказывали.
...
Рейтинг: 0 / 0
Как я могу известить программу на VB что в таблице появился New Record ?
    #32051156
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
знаю только 3 способа для сервера....
1) писать свою приблуду на каждое изменение и рассылать сетевые эвенты....
2) вешать на сиквел перехватчик внутренних евентов и транслировать как в пункте 1...
3) создать таблицу в которой хранить события.... по тймауту чистить старые..... из приложения постоянно мониторить....
ну и еще для клиента.... как только клиент обновляет данные - оповещать всех остальных....
у всех способов есть свои недостатки....
и из этого следует - , а нужно ли оное?
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как я могу известить программу на VB что в таблице появился New Record ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]