DataTableReader.GetValue(Int32) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar värdet för den angivna kolumnen i sitt interna format.
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
Parametrar
- ordinal
- Int32
Den nollbaserade kolumnordningen.
Returer
Värdet för den angivna kolumnen. Den här metoden returnerar DBNull för null-kolumner.
Undantag
Indexet som skickades låg utanför intervallet 0 till FieldCount - 1.
Ett försök gjordes att hämta data från en borttagen rad.
Ett försök gjordes att läsa eller komma åt kolumner i en stängd DataTableReader .
Exempel
Följande exempel itererar genom alla kolumner i den aktuella raden i en DataTableReader, som visar innehållet i varje kolumn och kolumnnamnet. Om avsikten är att arbeta med alla kolumner i en rad som hämtats av en DataTableReaderbör du i stället överväga att använda GetValues metoden eftersom den är effektivare.
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
Kommentarer
Även om du kan anropa IsDBNull för att se om det finns null-värden innan du anropar den här metoden behöver du inte göra det.