Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ADODB. Обработка событий.

585
05 июля 2005 года
honeybeer
297 / / 06.09.2004
Милостивые государи. Голова моя уже отказывается варить :D . Обработка событий объектов типа UserForm или WorkSheet - банальность обыкновенная.
А вот другой случай. У ADODB.Connections есть куча эвентов, так вот, как их отловить. Может у кого-то подобная проблема возникала? Поделитесь, пожалуйста.
648
05 июля 2005 года
Tiraspolsky
220 / / 23.07.2003
Цитата:
Originally posted by honeybeer
Милостивые государи. Голова моя уже отказывается варить :D . Обработка событий объектов типа UserForm или WorkSheet - банальность обыкновенная.
А вот другой случай. У ADODB.Connections есть куча эвентов, так вот, как их отловить. Может у кого-то подобная проблема возникала? Поделитесь, пожалуйста.



Отловить их можно в Visual C++. B VB их не отловишь. Надо использовать методы ADODB.Connection.

585
05 июля 2005 года
honeybeer
297 / / 06.09.2004
Цитата:
Originally posted by Tiraspolsky
Отловить их можно в Visual C++. B VB их не отловишь. Надо использовать методы ADODB.Connection.


Спасибо. Но, увы, я пользую C++ Builder и в нем подобных проблем нет. Ковыряясь в хелпах, обнаружил, что для COM-объектов, к коим относится и ADO, эвенты определяются через WithEvents и только в секции Class modules.

585
05 июля 2005 года
honeybeer
297 / / 06.09.2004
Цитата:
Originally posted by honeybeer
Спасибо. Но, увы, я пользую C++ Builder и в нем подобных проблем нет. Ковыряясь в хелпах, обнаружил, что для COM-объектов, к коим относится и ADO, эвенты определяются через WithEvents и только в секции Class modules.


Фуух! Разобрался! Если интересно - расскажу

648
05 июля 2005 года
Tiraspolsky
220 / / 23.07.2003
Цитата:
Originally posted by honeybeer
Фуух! Разобрался! Если интересно - расскажу



Конечно, расскажи.

585
05 июля 2005 года
honeybeer
297 / / 06.09.2004
Цитата:
Originally posted by Tiraspolsky
Конечно, расскажи.



После объявления экземпляра ADODB.Connection в Class Module

 
Код:
Private WithEvents AdoCon As ADODB.Connection

в выпадающем списке слева выбираешь имя экземпляра (AdoCon), тогда в правом списке появляется список событий для этого класса. А дальше пишешь обработчики и открытые методы для своего класса
 
Код:
Public Sub SetConnect()
    ServerName = "RDUCK1"
    Set AdoCon = New ADODB.Connection
    AdoCon.ConnectionString = "UID=;PWD=;DATABASE=OIKArch;Driver={SQL Server};SERVER=" & ServerName
    If AdoCon.State = adStateClosed Then AdoCon.Open
End Sub

Private Sub AdoCon_ConnectComplete(ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pConnection As ADODB.Connection)
    MsgBox "Connected", vbInformation, "ADODB.Connection"
End Sub
и вперед. В рабочем модуле создаешь переменную своего класса
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог