Вход


Главная страница >> Учебный процесс >> Конспекты >> MS Office. Руководство программиста по Visual Basic для MS Office 97 >> DAO - Data Access Objects >> Использование DAO с ODBCDirect >> Объект Database и набор Databases >> Переключение между объектами Connection и Database

Переход на главную страницу

Сервер поддерживается
кафедрой информатики и вычислительной техники ГрГУ
тел. +375-(0)152-445-101
E-mail :
kadan@grsu.grodno.by


[Назад]    [Содержание ]    [Вперед]

  


Переключение между объектами Connection и Database


ODBCDirect позволяет открыть объект Database и объект Connection для одного и того же источника данных ODBC и задействовать в программе оба этих объекта, после чего появляется возможность использовать лучшие ?качества? каждого объекта.

Кроме того, можно создать один объект, а потом (при необходимости) переключиться на объект другого типа. Для этого обращайтесь к свойству Connection объекта Database или к свойству Database объекта Connection. Они позволяют создавать объекты Connection из объектов Database, и наоборот. Это особенно удобно, когда возникает необходимость дополнить возможностями ODBCDirect существующие приложения, которые работают только с объектами Database.

Например, Вы проводите большую часть операций, связанных с доступом к данным ODBC, через объект Database. Но вот Вам понадобился асинхронный запрос ? тогда Вы создаете объект Connection из объекта Database и . выполняете запрос из объекта Connection. Рассмотрим этот прием:

Sub DeleteRecords()
═════Dim dbs As Database, strConnect As String
═════Dim cnn As Connection

═════? открываем базу данных в рабочем пространстве по умолчанию
═════strConnect = "ODBC; DSN=Pubs;DATABASE=Pubs;UID=sa;PWD=;"
═════Set dbs - OpenDatabase("", False, False, strConnect)

═════? Пробуем создать объект Connection из объекта Database.
═════?
Если рабочее пространство относится к ODBCDirect, запрос
═════?
выполняется асинхронно. А если оно относится к Microsoft Jet,
═════?
то возникает ошибка, и запрос выполняется синхронно.

═════Err = 0
═════On Error Resume Next
═════Set cnn = dbs. Connection
═════If Err = 0 Then
══════════cnn. Execute "DELETE FROM Authors". DbRunAsync
═════Else
══════════dbs. Execute "DELETE FROM Authors"
═════End If
End Sub



[Назад]    [Содержание ]    [Вперед]

  



Текст пособия подготовлен на основе материалов книги
Microsoft Corporation. Руководство программиста по Visual Basic для Microsoft Office 97 / Пер. с англ. - М.: Издательский отдел "Русская Редакция" ТОО "Channel Trading Ltd.", 1997. - 544 с.: илл.
c Оригинальное издание на английском языке,
Microsoft Corporation, 1997
c Русский перевод,
Microsoft Corporation, 1997

  
За содержание страницы отвечает Гончарова М.Н.
©
Кафедра СПиКБ, 2002-2017