| ||||||||||||||||
![]() | ||||||||||||||||
| ||||||||||||||||
![]() | ||||||||||||||||
| ||||||||||||||||
![]() |
Динамическое создание строки связи с помощью OLE DB Data Link из программ на VB6 Вам
необходимо, чтобы в Вашей программе на 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 |
|
![]() | ||||||||||||||||
| ||||||||||||||||
![]() | ||||||||||||||||
|