InfoCity
InfoCity - виртуальный город компьютерной документации
Реклама на сайте







Размещение сквозной ссылки

 

Динамическое создание строки связи с помощью OLE DB Data Link из программ на VB6


Р. Подлинов, Азбука Visual Basic


Вам необходимо, чтобы в Вашей программе на VB можно было легко создать(изменить) строку связи (ConnectionString) с БД (например SQL Server, Oracle, Jet  и др.) или другим источником данных. Кроме этого желательно, чтобы для работы с базой данных, OLE DB провайдер использовался напрямую, а не через ODBC посредника.  

Для этого прекрасно подойдет OLE DB Data Link (рис.1, рис. 2). Несколькими нажатиями мыши можно сгенерировать строку связи, которую затем можно использовать в ADO объектах для получения данных, выполнения запросов к базе и т.п.

Рисунок 1

Рисунок 2

Для использования OLE DB Data Link в программе на VB необходимо подлючить Microsoft OLE DB Service Component. Для этого нужно в VB открыть меню Project, далее References и выбрать Microsoft OLE DB Service Component из списка (рис. 3).

Рисунок 3

Вот пример простейшей программы использующей Data Link. 

Private MyDL As MSDASC.DataLinks 

Private Sub Form_Load()

    Dim ConnStr As String

    Set MyDL = New MSDASC.DataLinks

    ConnStr = MyDL.PromptNew

    Debug.Print ConnStr 

End Sub 

При запуске программы появиться окно Data Link Properties (см. рис 1.). Если полностью пройти процесс генерирования строки связи, то после нажатия клавиши OK сгенерированная строка будет записана в переменную ConnStr. 

Просто не правда ли? 

Но что будет, если Вы попробуете прервать процедуру генерации строки связи, нажав клавишу Cancel. Правильно, приложение выдаст сообщение об ошибке. 

Следующий пример, кроме того, что обрабатывает нажатие клавиши Cancel еще и показывает как можно корректно внести и отредактировать данные созданного объекта ADODB.Connection. 

Private Sub Form_Load()

    Dim MyDL As MSDASC.DataLinks

    Dim MyConn As ADODB.Connection   

    Set MyDL = New MSDASC.DataLinks

    Set MyConn = MyDL.PromptNew 

    If MyConn Is Nothing Then

        'If MyConn.ConnectionString = vbNullString Then

            Set MyDL = Nothing

            Set MyConn = Nothing

            Exit Sub

       ' End If

    End If   

    Debug.Print MyConn.Properties("Persist Security Info").Value

    Debug.Print MyConn.Properties("Initial Catalog").Value

    Debug.Print MyConn.Properties("User ID").Value   

    MyConn.Properties("User ID").Value = "user1"

    Debug.Print MyConn.Properties("User ID").Value   

End Sub

   


Реклама на InfoCity

Яндекс цитирования



Финансы: форекс для тебя








1999-2009 © InfoCity.kiev.ua