Freigeben über


DataTableReader.GetValue(Int32) Methode

Definition

Ruft den Wert der angegebenen Spalte im systemeigenen Format ab.

public:
 override System::Object ^ GetValue(int ordinal);
public override object GetValue (int ordinal);
override this.GetValue : int -> obj
Public Overrides Function GetValue (ordinal As Integer) As Object

Parameter

ordinal
Int32

Die nullbasierte Ordnungszahl der Spalte.

Gibt zurück

Der Wert der angegebenen Spalte. Die Methode gibt für Spalten mit NULL-Werten DBNull zurück.

Ausnahmen

Der übergebene Index lag außerhalb des Bereichs von 0 bis FieldCount -1.

Es wurde versucht, Daten aus einer gelöschten Zeile abzurufen.

Es wurde versucht, die Spalte in einem geschlossenen DataTableReader zu lesen oder auf sie zuzugreifen.

Beispiele

Im folgenden Beispiel werden alle Spalten in der aktuellen Zeile in einem DataTableReaderdurchlaufen, wobei der Inhalt jeder Spalte und der Spaltenname angezeigt werden. Wenn Ihre Absicht darin besteht, mit allen Spalten in einer Zeile zu arbeiten, die von einem DataTableReaderabgerufen wird, sollten Sie stattdessen die GetValues -Methode verwenden, da sie effizienter ist.

private static void GetAllValues(DataTableReader reader)
{
    // Given a DataTableReader, retrieve the value of
    // each column, and display the name, value, and type.
    // Make sure you have called reader.Read at least once before
    // calling this procedure.

    // Loop through all the columns.
    object value = null;
    for (int i = 0; i < reader.FieldCount; i++)
    {
        if (reader.IsDBNull(i))
        {
            value = "<NULL>";
        }
        else
        {
            value = reader.GetValue(i);
        }
        Console.WriteLine("{0}: {1} ({2})", reader.GetName(i),
            value, reader.GetFieldType(i).Name);
    }
}
Private Sub GetAllValues(ByVal reader As DataTableReader)

   ' Given a DataTableReader, retrieve the value of 
   ' each column, and display the name, value, and type.
   ' Make sure you've called reader.Read at least once before
   ' calling this procedure.
   ' Loop through all the columns.
   Dim value As Object
   For i As Integer = 0 To reader.FieldCount - 1
      If reader.IsDBNull(i) Then
         value = "<NULL>"
      Else
         value = reader.GetValue(i)
      End If
      Console.WriteLine("{0}: {1} ({2})", reader.GetName(i), _
         value, reader.GetFieldType(i).Name)
   Next
End Sub

Hinweise

Sie können zwar aufrufen IsDBNull , um zu sehen, ob NULL-Werte vorhanden sind, bevor Sie diese Methode aufrufen, müssen Sie dies jedoch nicht tun.

Gilt für: