Шаг 109 - Свойство Transactions

Описание
Возвращает значение, указывающее, поддерживает ли данный объект транзакции.

Значение
Возвращаемое значение является выражением типа Boolean и имеет значение True, если объект поддерживает транзакции.

Замечания
В рабочей области ODBCDirect свойство Transactions является доступным для объектов Connection и Database. Оно указывает, поддерживает ли транзакции используемый драйвер ODBC.
В рабочей области Microsoft Jet свойство Transactions используется также с объектами Recordset типа динамического набора записей. Объекты Recordset типа статического набора записей и статического набора записей с последовательным доступом всегда возвращают значение False.
Если объект Recordset типа таблицы или динамического набора записей создан на основе таблицы из базы данных с ядром Microsoft Jet, то свойство Transactions получает значение True, и использование транзакций возможно. Другие ядра баз данных могут не поддерживать транзакции. Например, нельзя использовать транзакции с динамическими наборами записей, созданными на основе таблице из базы данных Paradox.
Значение свойства Transactions следует проверить перед вызовом метода BeginTrans для объекта Workspace, соответствующего объекту Recordset, чтобы убедиться, что транзакции поддерживаются. Вызовы методов BeginTrans, CommitTrans или Rollback для объектов, не поддерживающих транзакции, не имеют последствий.

Пример
Следующая программа демонстрирует использование свойства Transactions в рабочей области Microsoft Jet и рабочей области ODBCDirect.

Sub TransactionsX()

	Dim wrkJet As Workspace
	Dim wrkODBC As Workspace
	Dim dbsNorthwind As Database
	Dim conPubs As Connection
	Dim rstTemp As Recordset

	' Открывает рабочие области Microsoft Jet и ODBCDirect,
	' базу данных Microsoft Jet и подключение ODBCDirect.
	Set wrkJet = CreateWorkspace("", "admin", "", dbUseJet)
	Set wrkODBC = CreateWorkspace("", "admin", "", dbUseODBC)

	Set dbsNorthwind = wrkJet.OpenDatabase("Борей.mdb")
	Set conPubs = wrkODBC.OpenConnection("", , , "ODBC;DATABASE=pubs;UID=sa;PWD=;DSN=Publishers")

	' Открывает два объекта Recordset и отображает
	' свойство Transactions каждого объекта.

	Debug.Print "Открывает объект Recordset Microsoft Jet " & "типа таблицы..."
	Set rstTemp = dbsNorthwind.OpenRecordset( "Сотрудники", dbOpenTable)
	Debug.Print "    Transactions = " & rstTemp.Transactions
	Debug.Print "Открывает объект Recordset с последовательным " & 	" доступом, где источник задается инструкцией SQL..."
	Set rstTemp = dbsNorthwind.OpenRecordset( "SELECT * FROM Сотрудники", dbOpenForwardOnly)
	Debug.Print "    Transactions = " & rstTemp.Transactions

	' Отображает свойство Transactions объекта Connection 
	' в рабочей области ODBCDirect.

	Debug.Print "Проверка свойства Transaction для " & "подключения ODBC..."
	Debug.Print "    Transactions = " & conPubs.Transactions

	rstTemp.Close
	dbsNorthwind.Close
	conPubs.Close
	wrkJet.Close
	wrkODBC.Close

End Sub

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 21.03.2002