SqlDataReader.GetOrdinal(String) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém o ordinal da coluna, dado o nome da coluna.
public:
virtual int GetOrdinal(System::String ^ name);
public:
override int GetOrdinal(System::String ^ name);
public int GetOrdinal(string name);
public override int GetOrdinal(string name);
abstract member GetOrdinal : string -> int
override this.GetOrdinal : string -> int
override this.GetOrdinal : string -> int
Public Function GetOrdinal (name As String) As Integer
Public Overrides Function GetOrdinal (name As String) As Integer
Parâmetros
- name
- String
O nome da coluna.
Devoluções
O ordinal da coluna baseada em zero.
Implementações
Exceções
O nome especificado não é um nome de coluna válido.
Exemplos
O exemplo seguinte demonstra como usar o GetOrdinal método.
private static void ReadGetOrdinal(string connectionString)
{
string queryString = "SELECT DISTINCT CustomerID FROM dbo.Orders;";
using (SqlConnection connection =
new SqlConnection(connectionString))
{
SqlCommand command =
new SqlCommand(queryString, connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
// Call GetOrdinal and assign value to variable.
int customerID = reader.GetOrdinal("CustomerID");
// Use variable with GetString inside of loop.
while (reader.Read())
{
Console.WriteLine("CustomerID={0}", reader.GetString(customerID));
}
// Call Close when done reading.
reader.Close();
}
}
Private Sub ReadGetOrdinal(ByVal connectionString As String)
Dim queryString As String = _
"SELECT DISTINCT CustomerID FROM dbo.Orders;"
Using connection As New SqlConnection(connectionString)
Dim command As New SqlCommand(queryString, connection)
connection.Open()
Dim reader As SqlDataReader = command.ExecuteReader()
' Call GetOrdinal and assign value to variable.
Dim customerID As Integer = reader.GetOrdinal("CustomerID")
' Use variable with GetString inside of loop.
While reader.Read()
Console.WriteLine("CustomerID={0}", reader.GetString(customerID))
End While
' Call Close when done reading.
reader.Close()
End Using
End Sub
Observações
GetOrdinal Faz primeiro uma pesquisa com sensibilidade a maiúsculas minúsculas. Se falhar, ocorre uma segunda pesquisa insensível a maiúsculas minúsculas (uma comparação insensível a maiúsculas minúsculas é feita usando a colação da base de dados). Resultados inesperados podem ocorrer quando as comparações são afetadas por regras de revestimento específicas da cultura. Por exemplo, em turco, o seguinte exemplo produz resultados errados porque o sistema de ficheiros em turco não usa regras linguísticas de maiúscula para a letra 'i' em "file". O método lança uma IndexOutOfRange exceção se o ordinal da coluna baseado em zero não for encontrado.
GetOrdinal é insensível à largura de Kana.
Como as consultas baseadas em ordinais são mais eficientes do que as consultas nomeadas, é ineficiente chamar GetOrdinal dentro de um ciclo. Poupa tempo chamando GetOrdinal uma vez e atribuindo os resultados a uma variável inteira para uso dentro do ciclo.