IDataRecord.GetOrdinal(String) IDataRecord.GetOrdinal(String) IDataRecord.GetOrdinal(String) IDataRecord.GetOrdinal(String) Method

定义

返回已命名字段的索引。Return the index of the named field.

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

参数

name
String String String String

要查找的字段的名称。The name of the field to find.

返回

已命名字段的索引。The index of the named field.

示例

下面的示例演示如何使用继承GetOrdinal的方法。The following example demonstrates how to use the inherited GetOrdinal method.

public static void ReadData(string connectionString)
{
    string queryString = "SELECT DISTINCT CustomerID FROM Orders";

    using (OdbcConnection connection = new OdbcConnection(connectionString))
    {
        OdbcCommand command = new OdbcCommand(queryString, connection);

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

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

        while (reader.Read())
        {
            Console.WriteLine("CustomerID={0}", reader.GetString(customerID));
        }

        // Call Close when done reading.
        reader.Close();
    }
}
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()

        Dim customerID As Integer = reader.GetOrdinal("CustomerID")

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

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

注解

GetOrdinal首先执行区分大小写的查找。GetOrdinal performs a case-sensitive lookup first. 如果失败, 将进行第二个不区分大小写的搜索。If it fails, a second case-insensitive search is made. GetOrdinal不区分假名宽度。GetOrdinal is kana-width insensitive. 如果找不到命名字段的索引, IndexOutOfRangeException则会引发。If the index of the named field is not found, an IndexOutOfRangeException is thrown.

由于基于序号的查找比命名查找更有效, 因此在循环内调用GetOrdinal是低效的。Because ordinal-based lookups are more efficient than named lookups, it is inefficient to call GetOrdinal within a loop. 通过调用GetOrdinal一次, 并将结果分配给整数变量以便在循环中使用, 从而节省时间。Save time by calling GetOrdinal one time and assigning the results to an integer variable for use within the loop.

适用于