DataTableReader.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:
override int GetOrdinal(System::String ^ name);
public override int GetOrdinal(string name);
override this.GetOrdinal : string -> int
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.
Exceções
Foi feita uma tentativa de ler ou aceder a uma coluna num arquivo fechado DataTableReader.
O nome especificado não é um nome de coluna válido.
Exemplos
Se tiver apenas o nome da coluna, caso em que o nome da coluna é fornecido pelo utilizador, e tiver de recuperar informação da coluna, pode usar um procedimento semelhante para extrair a informação necessária. Neste exemplo, o procedimento aceita um nome de coluna e devolve os dados contidos nessa coluna para a linha atual na DataTableReader :
private static object GetValueByName(
DataTableReader reader, string columnName)
{
// Consider when to use a procedure like this one carefully:
// if you're going to retrieve information from a column
// in a loop, it would be better to retrieve the column
// ordinal once, store the value, and use the methods
// of the DataTableReader class directly.
object columnValue;
try
{
int columnOrdinal = reader.GetOrdinal(columnName);
columnValue = reader.GetValue(columnOrdinal);
}
catch (ArgumentException ex)
{
// Throw all other errors back out to the caller.
columnValue = null;
}
return columnValue;
}
Private Function GetValueByName( _
ByVal reader As DataTableReader, _
ByVal columnName As String) As Object
' Consider when to use a procedure like this one carefully:
' If you're going to retrieve information from a column
' in a loop, it would be better to retrieve the column
' ordinal once, store the value, and use the methods
' of the DataTableReader class directly.
Dim columnValue As Object
Try
Dim columnOrdinal As Integer = reader.GetOrdinal(columnName)
columnValue = reader.GetValue(columnOrdinal)
Catch ex As ArgumentException
' Throw all other errors back out to the caller.
columnValue = Nothing
End Try
Return columnValue
End Function
Observações
Como a maioria dos métodos fornecidos pela DataTableReader classe deve ter um número de coluna ordinal, pode usar o GetOrdinal método para recuperar o número da coluna, dado o nome da coluna.
GetOrdinal Faz primeiro uma pesquisa com sensibilidade a maiúsculas minúsculas. Se falhar, é feita uma segunda busca insensível a maiúsculas e minúsculas. Se o número da coluna não for encontrado, é ArgumentException lançado.
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. Poupe tempo ao chamar GetOrdinal uma vez e atribuir os resultados a uma variável inteira para uso dentro do ciclo