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 que se va a 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 que distingue mayúsculas de 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 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 búsquedas con nombre, es ineficaz llamar dentro GetOrdinal de un bucle. Ahorre tiempo llamando a GetOrdinal una sola vez y asignando los resultados a una variable de entero para su uso en el bucle .