DataTableReader.GetValue(Int32) 方法

定義

取得指定欄位的本位格式值。

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

參數

ordinal
Int32

零基列序數。

傳回

指定欄位的值。 此方法回傳 DBNull 空欄位。

例外狀況

通過的指數超出0到 FieldCount -1的範圍。

嘗試從已刪除的資料列中取得資料。

嘗試閱讀或存取封閉 DataTableReader 欄位。

範例

以下範例會遍歷當前列 DataTableReader中所有欄位,顯示每欄的內容及欄位名稱。 一般來說,如果你的目標是處理由 所 DataTableReader檢索的列內所有欄位,建議使用 GetValues 該方法,因為它更有效率。

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

備註

雖然你可以先呼叫 IsDBNull 看看是否有空值再呼叫此方法,但你不必這麼做。

適用於