DataTableReader.GetValue(Int32) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得指定欄位的本位格式值。
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 看看是否有空值再呼叫此方法,但你不必這麼做。