IDataRecord.GetOrdinal(String) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Retorna o índice do campo nomeado.
public:
int GetOrdinal(System::String ^ name);
public int GetOrdinal (string name);
abstract member GetOrdinal : string -> int
Public Function GetOrdinal (name As String) As Integer
Parâmetros
- name
- String
O nome do campo a ser localizado.
Retornos
O índice do campo nomeado.
Exemplos
O exemplo a seguir demonstra como usar o método herdado 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
Comentários
GetOrdinal
executa uma pesquisa que diferencia maiúsculas de minúsculas primeiro. Se falhar, uma segunda pesquisa que não diferencia maiúsculas de minúsculas será feita.
GetOrdinal
não distingue largura de kana. Se o índice do campo nomeado não for encontrado, um IndexOutOfRangeException
será gerado.
Como pesquisas baseadas em ordinais são mais eficientes do que pesquisas por nome, é ineficiente chamar GetOrdinal
dentro de um loop. Economize tempo chamando GetOrdinal
uma vez e atribuindo os resultados a uma variável de inteiro para uso dentro do loop.