Partager via


OleDbDataReader.GetOrdinal(String) Méthode

Définition

Obtient le numéro de la colonne, en fonction du nom de la colonne.

public:
 override int GetOrdinal(System::String ^ name);
public:
 virtual int GetOrdinal(System::String ^ name);
public override int GetOrdinal (string name);
public int GetOrdinal (string name);
override this.GetOrdinal : string -> int
abstract member GetOrdinal : string -> int
override this.GetOrdinal : string -> int
Public Overrides Function GetOrdinal (name As String) As Integer
Public Function GetOrdinal (name As String) As Integer

Paramètres

name
String

Nom de la colonne.

Retours

Numéro de colonne de base zéro.

Implémente

Exceptions

Le nom spécifié n'est pas un nom de colonne valide.

Exemples

L'exemple suivant décrit comment utiliser la méthode GetOrdinal.

public static void ReadData(string connectionString)
{
    string queryString = "SELECT DISTINCT CustomerID FROM Orders";
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        OleDbCommand command = new OleDbCommand(queryString, connection);

        connection.Open();
        OleDbDataReader reader = command.ExecuteReader();

        int customerID = reader.GetOrdinal("CustomerID");

        while (reader.Read())
        {
            Console.WriteLine("CustomerID={0}", reader.GetString(customerID));
        }
        reader.Close();
    }
}
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)

        connection.Open()

        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
        reader.Close()
    End Using
End Sub

Remarques

GetOrdinal effectue d’abord une recherche respectant la casse. En cas d’échec, une deuxième recherche ne respectant pas la casse est effectuée. La méthode lève une IndexOutOfRange exception si l’ordinal de colonne de base zéro est introuvable.

GetOrdinal ne respecte pas la largeur du jeu de caractères kana.

Étant donné que les recherches basées sur un ordinal sont plus efficaces que les recherches basées sur un nom, il est inefficace d'appeler GetOrdinal dans une boucle. Gagnez du temps en appelant GetOrdinal une seule fois et en affectant les résultats à une variable entière à utiliser dans la boucle.

S’applique à

Voir aussi