IDataRecord.GetOrdinal(String) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает индекс именованного поля.
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
Имя искомого поля.
Возвращаемое значение
Индекс именованного поля.
Примеры
В следующем примере показано, как использовать наследуемый 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
сначала выполняет поиск с учетом регистра. В случае сбоя выполняется второй поиск без учета регистра. Метод GetOrdinal
не учитывает ширину японской азбуки. Если индекс именованного поля не найден, возникает исключение IndexOutOfRangeException
.
Поиск по порядковым числительным более эффективен, чем поиск по имени, поэтому не рекомендуется использовать метод GetOrdinal
в цикле. Экономьте время, вызвав GetOrdinal
один раз и назначив результаты целочисленной переменной для использования в цикле.