OdbcDataReader.GetOrdinal(String) 方法

定义

在给定列名时获取相应的列序号。

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

参数

value
String

列的名称。

返回

从零开始的列序号。

实现

示例

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

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 首先执行区分大小写的查找。 如果失败,将进行第二次不区分大小写的搜索。 如果未找到从零开始的列序号,方法将 IndexOutOfRange 引发异常。

GetOrdinal 不区分假名宽度。

因为基于序号的查找比命名查找更高效,因此在循环内调用 GetOrdinal 效率低下。 请改为调用 GetOrdinal 一次,然后将结果分配给整数变量,以便在循环中使用。

适用于

另请参阅