Поделиться через


Использование объекта подключения

Перед открытием объекта подключения необходимо определить некоторые сведения об источнике данных и типе подключения. Большая часть этой информации хранится параметром ConnectionString метода Open в объекте Connection или свойством ConnectionString в объекте Connection. Строка подключения состоит из списка пар аргументов и значений, разделенных точкой с запятой, со значениями, заключенными в одинарные кавычки. Например:

Dim sConn As String  
sConn = "Provider='SQLOLEDB';Data Source='MySqlServer';" & _  
             "Initial Catalog='Northwind';Integrated Security='SSPI';"  

Заметка

Можно также указать имя источника данных ODBC (DSN) или файл канала данных (UDL) в строке подключения. Дополнительные сведения о DSN см. в разделе Управление источниками данных в справочнике программиста ODBC. Дополнительные сведения об универсальных схемах данных (UDL) см. в обзоре API связи с данными в справочнике программиста OLE DB.

Как правило, вы устанавливаете подключение, вызывая метод Connection.Open с соответствующей строкой подключения в качестве параметра. Пример показан в следующем фрагменте кода Visual Basic:

Dim oConn As ADODB.Connection  
Dim oRs As ADODB.Recordset  
Dim sConn As String  
Dim sSQL as String  
  
' Open a connection.  
Set oConn = New ADODB.Connection  
.Open   
  
' Make a query over the connection.  
sSQL = "SELECT ProductID, ProductName, CategoryID, UnitPrice " & _  
             "FROM Products"  
Set oRs = New ADODB.Recordset  
oRs.Open sSQL, , adOpenStatic, adLockBatchOptimistic, adCmdText  
  
MsgBox oRs.RecordCount  
  
' Close the connection.  
oConn.Close  
Set oConn = Nothing  
  

Здесь oRs.Open принимает переменную подключения (oConn) в качестве значения параметра ActiveConnection. Кроме того, свойство Connection.CursorLocation принимает значение по умолчанию adUseServer. Сравните это с примером HelloData в предыдущем разделе. Следующая инструкция приведет к ошибкам во время выполнения.

oRs.MarshalOptions = adMarshalModifiedOnly  
' Disconnect the Recordset.  
Set oRs.ActiveConnection = Nothing