Microsoft ActiveX Data ObjectsMicrosoft ActiveX Data Objects*
*Contents  *Index  *Topic Contents

Supports Method Example

This example uses the Supports method to display the options supported by a recordset opened with different cursor types. The DisplaySupport procedure is required for this procedure to run.

Public Sub SupportsX()

	Dim aintCursorType(4) As Integer
	Dim rstTitles As ADODB.Recordset
	Dim strCnn As String
	Dim intIndex As Integer

	' Open connections.
	strCnn = "driver={SQL Server};server=srv;" & _
		"uid=sa;pwd=;database=pubs"

	' Fill array with CursorType constants.
	aintCursorType(0) = adOpenForwardOnly
	aintCursorType(1) = adOpenKeyset
	aintCursorType(2) = adOpenDynamic
	aintCursorType(3) = adOpenStatic
	
	' Open recordset using each CursorType and 
	' optimitic locking. Then call the DisplaySupport 
	' procedure to display the supported options.
	For intIndex = 0 To 3
		Set rstTitles = New ADODB.Recordset
		rstTitles.CursorType = aintCursorType(intIndex)
		rstTitles.LockType = adLockOptimistic
		rstTitles.Open "titles", strCnn, , , adCmdTable
		
		Select Case aintCursorType(intIndex)
			Case adOpenForwardOnly
				Debug.Print "ForwardOnly cursor supports:"
			Case adOpenKeyset
				Debug.Print "Keyset cursor supports:"
			Case adOpenDynamic
				Debug.Print "Dynamic cursor supports:"
			Case adOpenStatic
				Debug.Print "Static cursor supports:"
		End Select

		DisplaySupport rstTitles
		rstTitles.Close
	Next intIndex

End Sub

Public Sub DisplaySupport(rstTemp As ADODB.Recordset)

	Dim alngConstants(9) As Long
	Dim booSupports As Boolean
	Dim intIndex As Integer

	' Fill array with cursor option constants.
	alngConstants(0) = adAddNew
	alngConstants(1) = adApproxPosition
	alngConstants(2) = adBookmark
	alngConstants(3) = adDelete
	alngConstants(4) = adHoldRecords
	alngConstants(5) = adMovePrevious
	alngConstants(6) = adResync
	alngConstants(7) = adUpdate
	alngConstants(8) = adUpdateBatch
	
	For intIndex = 0 To 8
		booSupports = _
			rstTemp.Supports(alngConstants(intIndex))
		If booSupports Then
			Select Case alngConstants(intIndex)
				Case adAddNew
					Debug.Print "	AddNew"
				Case adApproxPosition
					Debug.Print "	AbsolutePosition and AbsolutePage"
				Case adBookmark
					Debug.Print "	Bookmark"
				Case adDelete
					Debug.Print "	Delete"
				Case adHoldRecords
					Debug.Print "	holding records"
				Case adMovePrevious
					Debug.Print "	MovePrevious and Move"
				Case adResync
					Debug.Print "	resyncing data"
				Case adUpdate
					Debug.Print "	Update"
				Case adUpdateBatch
					Debug.Print "	batch updating"
			End Select
		End If
	Next intIndex

End Sub

Up Top of Page
© 1997 Microsoft Corporation. All rights reserved. Terms of Use.