Шаг 39 - Свойство DefaultCursorDriver.

Описание
Задает или возвращает тип драйвера указателя набора записей, используемого в подключении, созданном с помощью метода OpenConnection или OpenDatabase (только в рабочей области ODBCDirect).

Значение
Задаваемое или возвращаемое значение имеет тип данных Long и определяется одной из следующих констант:

dbUseDefaultCursor			(По умолчанию).  Используются указатели набора записей на стороне сервера, 
				если они поддерживаются; в противном случае, используются библиотеки указателей ODBC.
dbUseODBCCursor			Всегда используются библиотеки указателей ODBC.  Данный параметр обеспечивает более 
				высокое быстродействие для небольших наборов записей, но быстродействие быстро ухудшается 
				при повышении размеров наборов записей.
dbUseServerCursor			Всегда используются указатели набора записей на стороне сервера.  Для большинства 
				операций с большими наборами записей этот параметр обеспечивает более высокое 
				быстродействие, но при этом возрастает нагрузка на сеть.
dbUseClientBatchCursor		Всегда используется библиотека пакетных указателей набора записей клиента.  
				Этот параметр является обязательным для операций пакетного обновления.
dbUseNoCursor			Открывает все указатели набора записей (т.е. объекты Recordset) для последовательного 
				доступа только для чтения с размером набора записей 1.  Используется также термин "запросы 
				без указателя".

Замечания
Значение данного свойства затрагивает только подключения, устанавливаемые после определения этого значения. На существующие подключения значение свойства DefaultCursorDriver не влияет.

Пример
Следующая программа использует метод NextRecordset для просмотра данных составного запроса SELECT. При выполнении таких запросов свойство DefaultCursorDriver должно получить значение dbUseODBCCursor. Метод NextRecordset возвращает значение True, даже если некоторые или все инструкции SELECT не возвращают записей. Значение False будет возвращено только после всех предложений инструкции SQL.

Sub NextRecordsetX()

	Dim wrkODBC As Workspace
	Dim conPubs As Connection
	Dim rstTemp As Recordset
	Dim intCount As Integer
	Dim booNext As Boolean

	' Создает объект Workspace ODBCDirect и открывает объект 
	' Connection. При использовании составных инструкций SQL 
	' значение DefaultCursorDriver является обязательным.
	Set wrkODBC = CreateWorkspace("", "admin", "", dbUseODBC)
	wrkODBC.DefaultCursorDriver = dbUseODBCCursor
	Set conPubs = wrkODBC.OpenConnection("Publishers", , , "ODBC;DATABASE=pubs;UID=sa;PWD=;DSN=Publishers")
	' Создает составную инструкцию SELECT.
	Set rstTemp = conPubs.OpenRecordset("SELECT * " & "FROM authors; " & "SELECT * FROM stores; " & "SELECT * FROM jobs")
	' Делает попытку напечатать результаты каждой из трех 
	' инструкций SELECT.
	booNext = True
	intCount = 1
	With rstTemp
		Do While booNext
			Debug.Print "Содержимое набора записей #" & intCount
			Do While Not .EOF
			Debug.Print , .Fields(0), .Fields(1)
			.MoveNext
			Loop
			booNext = .NextRecordset
			Debug.Print "    rstTemp.NextRecordset = " & 	booNext
			intCount = intCount + 1
		Loop
	End With
	rstTemp.Close
	conPubs.Close
	wrkODBC.Close
End Sub
Hosted by uCoz