SqlDataReader.GetOrdinal(String) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera porządkową kolumnę, podając nazwę kolumny.
public:
override int GetOrdinal(System::String ^ name);
public:
virtual int GetOrdinal(System::String ^ name);
public override int GetOrdinal (string name);
public int GetOrdinal (string name);
override this.GetOrdinal : string -> int
abstract member GetOrdinal : string -> int
override this.GetOrdinal : string -> int
Public Overrides Function GetOrdinal (name As String) As Integer
Public Function GetOrdinal (name As String) As Integer
Parametry
- name
- String
Nazwa kolumny.
Zwraca
Liczba porządkowa kolumn opartych na zerach.
Implementuje
Wyjątki
Określona nazwa nie jest prawidłową nazwą kolumny.
Przykłady
W poniższym przykładzie pokazano, jak używać GetOrdinal metody .
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
Uwagi
GetOrdinal
najpierw wykonuje wyszukiwanie uwzględniające wielkość liter. Jeśli zakończy się to niepowodzeniem, zostanie przeprowadzone drugie wyszukiwanie bez uwzględniania wielkości liter (porównanie bez uwzględniania wielkości liter odbywa się przy użyciu sortowania bazy danych). Gdy na porównania wpływają reguły uwzględniające ustawienia kulturowe, mogą wystąpić nieoczekiwane rezultaty. Na przykład w języku tureckim poniższy przykład zwraca nieprawidłowe wyniki, ponieważ system plików w języku tureckim nie używa reguł wielkości liter w literze "i" w ciągu "file". Metoda zgłasza IndexOutOfRange
wyjątek, jeśli nie znaleziono porządkowej kolumny opartej na zerze.
GetOrdinal
jest niewrażliwa na szerokość kana.
Ponieważ wyszukiwania na podstawie porządkowych są bardziej wydajne niż nazwane wyszukiwania, jest nieefektywne wywołanie GetOrdinal
w ramach pętli. Oszczędzaj czas, wywołując GetOrdinal
raz i przypisując wyniki do zmiennej całkowitej do użycia w pętli.