Export (0) Print
Expand All

OdbcDataReader Class

Provides a way of reading a forward-only stream of data rows from a data source. This class cannot be inherited.

Namespace:  System.Data.Odbc
Assembly:  System.Data (in System.Data.dll)

'Declaration
Public NotInheritable Class OdbcDataReader _
	Inherits DbDataReader

The OdbcDataReader type exposes the following members.

  NameDescription
Public propertyDepthGets a value that indicates the depth of nesting for the current row. (Overrides DbDataReader.Depth.)
Public propertyFieldCountGets the number of columns in the current row. (Overrides DbDataReader.FieldCount.)
Public propertyHasRowsGets a value that indicates whether the OdbcDataReader contains one or more rows. (Overrides DbDataReader.HasRows.)
Public propertyIsClosedIndicates whether the OdbcDataReader is closed. (Overrides DbDataReader.IsClosed.)
Public propertyItem(Int32)Gets the value of the specified column in its native format given the column ordinal. (Overrides DbDataReader.Item.)
Public propertyItem(String)Gets the value of the specified column in its native format given the column name. (Overrides DbDataReader.Item.)
Public propertyRecordsAffectedGets the number of rows changed, inserted, or deleted by execution of the SQL statement. (Overrides DbDataReader.RecordsAffected.)
Public propertyVisibleFieldCountGets the number of fields in the DbDataReader that are not hidden. (Inherited from DbDataReader.)
Top

  NameDescription
Public methodCloseCloses the OdbcDataReader object. (Overrides DbDataReader.Close.)
Public methodCreateObjRefCreates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object. (Inherited from MarshalByRefObject.)
Public methodDisposeReleases all resources used by the current instance of the DbDataReader class. (Inherited from DbDataReader.)
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Public methodGetBooleanGets the value of the specified column as a Boolean. (Overrides DbDataReader.GetBoolean(Int32).)
Public methodGetByteGets the value of the specified column as a byte. (Overrides DbDataReader.GetByte(Int32).)
Public methodGetBytesReads a stream of bytes from the specified column offset into the buffer as an array, starting at the particular buffer offset. (Overrides DbDataReader.GetBytes(Int32, Int64, Byte(), Int32, Int32).)
Public methodGetCharGets the value of the specified column as a character. (Overrides DbDataReader.GetChar(Int32).)
Public methodGetCharsReads a stream of characters from the specified column offset into the buffer as an array, starting at the particular buffer offset. (Overrides DbDataReader.GetChars(Int32, Int64, Char(), Int32, Int32).)
Public methodGetDataReturns a DbDataReader object for the requested column ordinal. (Inherited from DbDataReader.)
Public methodGetDataTypeNameGets the name of the source data type. (Overrides DbDataReader.GetDataTypeName(Int32).)
Public methodGetDateGets the value of the specified column as a DateTime object.
Public methodGetDateTimeGets the value of the specified column as a DateTime object. (Overrides DbDataReader.GetDateTime(Int32).)
Public methodGetDecimalGets the value of the specified column as a Decimal object. (Overrides DbDataReader.GetDecimal(Int32).)
Public methodGetDoubleGets the value of the specified column as a double-precision floating-point number. (Overrides DbDataReader.GetDouble(Int32).)
Public methodGetEnumeratorReturns an IEnumerator that can be used to iterate through the rows in the data reader. (Overrides DbDataReader.GetEnumerator.)
Public methodGetFieldTypeGets the Type that is the data type of the object. (Overrides DbDataReader.GetFieldType(Int32).)
Public methodGetFieldValue(Of T)Synchronously gets the value of the specified column as a type. (Inherited from DbDataReader.)
Public methodGetFieldValueAsync(Of T)(Int32)Asynchronously gets the value of the specified column as a type. (Inherited from DbDataReader.)
Public methodGetFieldValueAsync(Of T)(Int32, CancellationToken)Asynchronously gets the value of the specified column as a type. (Inherited from DbDataReader.)
Public methodGetFloatGets the value of the specified column as a single-precision floating-point number. (Overrides DbDataReader.GetFloat(Int32).)
Public methodGetGuidGets the value of the specified column as a globally unique identifier (GUID). (Overrides DbDataReader.GetGuid(Int32).)
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetInt16Gets the value of the specified column as a 16-bit signed integer. (Overrides DbDataReader.GetInt16(Int32).)
Public methodGetInt32Gets the value of the specified column as a 32-bit signed integer. (Overrides DbDataReader.GetInt32(Int32).)
Public methodGetInt64Gets the value of the specified column as a 64-bit signed integer. (Overrides DbDataReader.GetInt64(Int32).)
Public methodGetLifetimeServiceRetrieves the current lifetime service object that controls the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Public methodGetNameGets the name of the specified column. (Overrides DbDataReader.GetName(Int32).)
Public methodGetOrdinalGets the column ordinal, given the name of the column. (Overrides DbDataReader.GetOrdinal(String).)
Public methodGetProviderSpecificFieldTypeReturns the provider-specific field type of the specified column. (Inherited from DbDataReader.)
Public methodGetProviderSpecificValueGets the value of the specified column as an instance of Object. (Inherited from DbDataReader.)
Public methodGetProviderSpecificValuesGets all provider-specific attribute columns in the collection for the current row. (Inherited from DbDataReader.)
Public methodGetSchemaTableReturns a DataTable that describes the column metadata of the OdbcDataReader. (Overrides DbDataReader.GetSchemaTable.)
Public methodGetStreamRetrieves data as a Stream. (Inherited from DbDataReader.)
Public methodGetStringGets the value of the specified column as a String. (Overrides DbDataReader.GetString(Int32).)
Public methodGetTextReaderRetrieves data as a TextReader. (Inherited from DbDataReader.)
Public methodGetTimeGets the value of the specified column as a TimeSpan object.
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodGetValueGets the value of the column at the specified ordinal in its native format. (Overrides DbDataReader.GetValue(Int32).)
Public methodGetValuesPopulates an array of objects with the column values of the current row. (Overrides DbDataReader.GetValues(Object()).)
Public methodInitializeLifetimeServiceObtains a lifetime service object to control the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Public methodIsDBNullGets a value that indicates whether the column contains nonexistent or missing values. (Overrides DbDataReader.IsDBNull(Int32).)
Public methodIsDBNullAsync(Int32)An asynchronous version of IsDBNull, which gets a value that indicates whether the column contains non-existent or missing values. (Inherited from DbDataReader.)
Public methodIsDBNullAsync(Int32, CancellationToken)An asynchronous version of IsDBNull, which gets a value that indicates whether the column contains non-existent or missing values. Optionally, sends a notification that operations should be cancelled. (Inherited from DbDataReader.)
Public methodNextResultAdvances the OdbcDataReader to the next result when reading the results of batch SQL statements. (Overrides DbDataReader.NextResult.)
Public methodNextResultAsyncAn asynchronous version of NextResult, which advances the reader to the next result when reading the results of a batch of statements.Invokes NextResultAsync with CancellationToken.None. (Inherited from DbDataReader.)
Public methodNextResultAsync(CancellationToken)This is the asynchronous version of NextResult. Providers should override with an appropriate implementation. The cancellationToken may optionally be ignored.The default implementation invokes the synchronous NextResult method and returns a completed task, blocking the calling thread. The default implementation will return a cancelled task if passed an already cancelled cancellationToken. Exceptions thrown by NextResult will be communicated via the returned Task Exception property.Other methods and properties of the DbDataReader object should not be invoked while the returned Task is not yet completed. (Inherited from DbDataReader.)
Public methodReadAdvances the OdbcDataReader to the next record. (Overrides DbDataReader.Read.)
Public methodReadAsyncAn asynchronous version of Read, which advances the reader to the next record in a result set. This method invokes ReadAsync with CancellationToken.None. (Inherited from DbDataReader.)
Public methodReadAsync(CancellationToken)This is the asynchronous version of Read. Providers should override with an appropriate implementation. The cancellationToken may optionally be ignored.The default implementation invokes the synchronous Read method and returns a completed task, blocking the calling thread. The default implementation will return a cancelled task if passed an already cancelled cancellationToken. Exceptions thrown by Read will be communicated via the returned Task Exception property.Do not invoke other methods and properties of the DbDataReader object until the returned Task is complete. (Inherited from DbDataReader.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Top

  NameDescription
Explicit interface implemetationPrivate methodIDataRecord.GetDataFor a description of this member, see IDataRecord.GetData. (Inherited from DbDataReader.)
Top

To create an OdbcDataReader, you must call the ExecuteReader method of the OdbcCommand object, instead of directly using a constructor.

While the OdbcDataReader is being used, the associated OdbcConnection is busy serving the OdbcDataReader, and no other operations can be performed on the OdbcConnection other than closing it. This is the case until the Close method of the OdbcDataReader is called. For example, you cannot retrieve output parameters until after you call Close.

Changes made to a result set by another process or thread while data is being read may be visible to the user of the OdbcDataReader. However, the precise behavior is both driver and timing dependent.

IsClosed and RecordsAffected are the only properties that you can call after the OdbcDataReader is closed. Sometimes, you must call Close before you can call RecordsAffected.

The following example creates an OdbcConnection, an OdbcCommand, and an OdbcDataReader. The example reads through the data, writing it out to the console. Finally, the example closes the OdbcDataReader, and then the OdbcConnection.

Public Sub ReadData(ByVal connectionString As String)
    Dim queryString As String = "SELECT DISTINCT CustomerID FROM Orders" 

    Using connection As New OdbcConnection(connectionString)
        Dim command As New OdbcCommand(queryString, connection)

        connection.Open()

        Dim reader As OdbcDataReader = command.ExecuteReader()

        While reader.Read()
            Console.WriteLine("CustomerID={0}", reader(0).ToString)
        End While 

        ' Call Close when done reading.
        reader.Close()
    End Using 
End Sub

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Show:
© 2014 Microsoft