IDataRecord.GetOrdinal(String) 方法

定义

返回已命名字段的索引。

C#
public int GetOrdinal(string name);

参数

name
String

要查找的字段的名称。

返回

已命名字段的索引。

示例

下面的示例演示如何使用继承 GetOrdinal 的方法。

C#
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();
    }
}

注解

GetOrdinal 首先执行区分大小写的查找。 如果失败,则进行第二次不区分大小写的搜索。 GetOrdinal 不区分假名宽度。 如果未找到命名字段的索引, IndexOutOfRangeException 则会引发 。

因为基于序号的查找比命名查找更高效,因此在循环内调用 GetOrdinal 效率低下。 通过调用 GetOrdinal 一次并将结果分配给整数变量以在循环中使用来节省时间。

适用于

产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1