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 не учитывает ширину kana. Если индекс именованного поля не найден, IndexOutOfRangeException создается исключение.
Так как порядковые подстановки более эффективны, чем именованные подстановки, неэффективны для вызова GetOrdinal в цикле. Сэкономить время, вызвав GetOrdinal один раз и назначив результаты целочисленной переменной для использования в цикле.