|
|
|
Как я могу известить программу на VB что в таблице появился New Record ?
|
|||
|---|---|---|---|
|
#18+
Как я могу известить программу на VB что в таблице появился New Record ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2002, 12:31:03 |
|
||
|
Как я могу известить программу на VB что в таблице появился New Record ?
|
|||
|---|---|---|---|
|
#18+
Наиболее простой способ- проверять по таймеру кол-во записей: select count(*) from table ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2002, 12:38:45 |
|
||
|
Как я могу известить программу на VB что в таблице появился New Record ?
|
|||
|---|---|---|---|
|
#18+
С timer я сделал, я думал что есть что-нибудь более быстрое.Так приходится часто подключатся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2002, 12:44:21 |
|
||
|
Как я могу известить программу на VB что в таблице появился New Record ?
|
|||
|---|---|---|---|
|
#18+
Try to use events and asyncronous recordset. This model work fine and can inform you that some records inserted or updated. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2002, 12:51:16 |
|
||
|
Как я могу известить программу на VB что в таблице появился New Record ?
|
|||
|---|---|---|---|
|
#18+
А можно по подробней . Насчет asyncronous я понял , а вот как он сообщает об изменениях ? И мне нужно только inserted New Record . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2002, 12:57:58 |
|
||
|
Как я могу известить программу на VB что в таблице появился New Record ?
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2002, 16:01:24 |
|
||
|
Как я могу известить программу на VB что в таблице появился New Record ?
|
|||
|---|---|---|---|
|
#18+
Проверять количество записей в таблице - не совсем корректно. если я удалил запись и тут же добавл новую, то количество записей не изменится. Можно на все таблицы на Insert навешать триггеры, которые будут модифицировать в специальной вспомогательной таблице запись со вспомогательным timestamp полем. Вспомогательная таблица будет содержать по одной записи на каждую из основных таблиц. По изменению поля timestamp пожно определить, что в таблицу добавлены записи. Есть еще один механизм, который автоматически использует ADO, если через него ведется работа с таблицей, имеющей PK с identity. Достаточно опросить identity данной таблицы. Если оно не соответствует тому, которое было "видно" при последнем опросе, значит в таблицу кто-то добавил новую запись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2002, 17:44:03 |
|
||
|
Как я могу известить программу на VB что в таблице появился New Record ?
|
|||
|---|---|---|---|
|
#18+
identity не подходит так как в таблице данные постоянно меняются . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2002, 18:23:53 |
|
||
|
Как я могу известить программу на VB что в таблице появился New Record ?
|
|||
|---|---|---|---|
|
#18+
Identity меняется только при insert ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2002, 20:03:15 |
|
||
|
Как я могу известить программу на VB что в таблице появился New Record ?
|
|||
|---|---|---|---|
|
#18+
To one_time A WillChangeRecordset or RecordsetChangeComplete event may occur due to the Recordset Requery or Open methods. Это совсем не то что заказывали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2002, 20:22:05 |
|
||
|
Как я могу известить программу на VB что в таблице появился New Record ?
|
|||
|---|---|---|---|
|
#18+
знаю только 3 способа для сервера.... 1) писать свою приблуду на каждое изменение и рассылать сетевые эвенты.... 2) вешать на сиквел перехватчик внутренних евентов и транслировать как в пункте 1... 3) создать таблицу в которой хранить события.... по тймауту чистить старые..... из приложения постоянно мониторить.... ну и еще для клиента.... как только клиент обновляет данные - оповещать всех остальных.... у всех способов есть свои недостатки.... и из этого следует - , а нужно ли оное? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2002, 20:45:41 |
|
||
|
|

start [/forum/topic.php?fid=46&gotonew=1&tid=1820277]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
78ms |
get topic data: |
12ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
3ms |
| others: | 198ms |
| total: | 384ms |

| 0 / 0 |
