IDataRecord.GetOrdinal(String) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Devuelve el índice del campo con nombre.
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
Nombre del campo para buscar.
Devoluciones
Índice del campo con nombre.
Ejemplos
En el ejemplo siguiente se muestra cómo usar el método heredado 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
Comentarios
GetOrdinal
realiza primero una búsqueda con distinción entre mayúsculas y minúsculas. Si se produce un error, se realiza una segunda búsqueda sin distinción entre mayúsculas y minúsculas.
GetOrdinal
no distingue el ancho de kana. Si no se encuentra el índice del campo con nombre, se produce una IndexOutOfRangeException
excepción .
Dado que las búsquedas basadas en ordinales son más eficaces que las basadas en nombres, resulta poco útil llamar a GetOrdinal
dentro de un bucle. Ahorre tiempo llamando GetOrdinal
a una vez y asignando los resultados a una variable entera para su uso en el bucle.