Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: Access 2013, Office 2013
В предыдущих двух главах объясняется, как использовать ADO для подключения к источнику данных, выполнения команды, получения результатов в объекте Recordset и навигации по набору записей. В этой главе основное внимание уделяется следующей основной операции ADO: редактированию данных.
В этой главе по-прежнему используется пример набора записей , представленный в главе 3, с одним важным изменением. Для открытия набора записей используется следующий код:
. . .
'BeginEditIntro
Dim strSQL As String
Dim objRs1 As ADODB.Recordset
strSQL = "SELECT * FROM Shippers"
Set objRs1 = New ADODB.Recordset
objRs1.Open strSQL, GetNewConnection, adOpenStatic, _
adLockBatchOptimistic, adCmdText
' Disconnect the Recordset from the Connection object.
Set objRs1.ActiveConnection = Nothing
'EndEditIntro
. . .
Важное изменение в коде включает задание свойства CursorLocation объекта Connection, равного adUseClient в функции GetNewConnection (показано ниже), что указывает на использование клиентского курсора. Дополнительные сведения о различиях между клиентскими и серверными курсорами см. в разделе Глава 8. Общие сведения о курсорах и блокировках.
Параметр adUseClient свойства CursorLocation перемещает расположение курсора из источника данных (в данном случае SQL Server) в расположение клиентского кода (настольной рабочей станции). Этот параметр заставляет ADO вызывать обработчик клиентских курсоров для OLE DB на клиенте, чтобы создать курсор и управлять им.
Вы также могли заметить, что параметр LockType метода Open изменился на adLockBatchOptimistic. Откроется курсор в пакетном режиме. (Поставщик кэширует несколько изменений и записывает их в базовый источник данных только при вызове метода UpdateBatch .) Изменения, внесенные в набор записей , не будут обновляться в базе данных до вызова метода UpdateBatch .
Наконец, код в этой главе использует измененную версию функции GetNewConnection, представленную в главе 2. Эта версия функции теперь возвращает курсор на стороне клиента. Функция выглядит следующим образом:
'BeginNewConnection
Public Function GetNewConnection() As ADODB.Connection
Dim objConn1 As ADODB.Connection
Set objConn1 = New ADODB.Connection
strConnStr = "Provider=SQLOLEDB;Initial Catalog=Northwind;" & _
"Data Source=MySrvr;Integrated Security=SSPI;"
objConn1.ConnectionString = strConnStr
objConn1.CursorLocation = adUseClient
objConn1.Open
Set GetNewConnection = objConn1
End Function
'EndNewConnection
В этой главе рассматриваются следующие темы: