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 Spalten-Ordnungszahl.

Gibt zurück

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

Ausnahmen

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

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

Es wurde versucht, Spalten in einer geschlossenen DataTableReader Datei zu lesen oder darauf zuzugreifen.

Beispiele

Das folgende Beispiel durchläuft alle Spalten innerhalb der aktuellen Zeile in einer DataTableReader, wobei der Inhalt jeder Spalte und der Spaltenname angezeigt wird. Wenn Sie in der Regel mit allen Spalten in einer Zeile arbeiten möchten, die von einer DataTableReaderZeile abgerufen wird, sollten Sie stattdessen die Verwendung der GetValues Methode in Betracht ziehen, 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 festzustellen, ob null Werte vorhanden sind, bevor Sie diese Methode aufrufen, dies ist jedoch nicht der Fall.

Gilt für: