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







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

 

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


http://relib.com


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

Для этого прекрасно подойдет OLE DB Data Link (рис.1, рис. 2). Несколькими нажатиями мыши можно сгенерировать строку связи, которую затем можно использовать в ADO объектах для получения данных, выполнения запросов к базе и т.п.
Для использования OLE DB Data Link в программе на VB необходимо подлючить Microsoft OLE DB Service Component. Для этого нужно в VB открыть меню Project, далее References и выбрать Microsoft OLE DB Service Component из списка (рис. 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