OleDbDataReader.GetOrdinal Method (String)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Gets the column ordinal, given the name of the column.

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

Public Overrides Function GetOrdinal (
	name As String
) As Integer


Type: System.String

The name of the column.

Return Value

Type: System.Int32

The zero-based column ordinal.

Exception Condition

The name specified is not a valid column name.

GetOrdinal performs a case-sensitive lookup first. If it fails, a second case-insensitive search is made. The method throws an IndexOutOfRange exceptionif the zero-based column ordinal is not found.

GetOrdinal is kana-width insensitive.

Because ordinal-based lookups are more efficient than named lookups, it is inefficient to call GetOrdinal within a loop. Save time by calling GetOrdinal one time and assigning the results to an integer variable for use within the loop.

The following example demonstrates how to use the GetOrdinal method.

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

    Using connection As New OleDbConnection(connectionString)
        Dim command As New OleDbCommand(queryString, connection)


        Dim reader As OleDbDataReader = command.ExecuteReader()

        Dim customerID As Integer = reader.GetOrdinal("CustomerID")
        While reader.Read()
            Console.WriteLine("CustomerID={0}", reader.GetString(customerID))
        End While
    End Using
End Sub

.NET Framework
Available since 1.1
Return to top