DataTableReader.Item[] プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した列の値をネイティブ形式で取得します。
オーバーロード
| 名前 | 説明 |
|---|---|
| Item[Int32] |
列の序数を指定して、指定した列の値をネイティブ形式で取得します。 |
| Item[String] |
列名を指定して、指定した列の値をネイティブ形式で取得します。 |
Item[Int32]
列の序数を指定して、指定した列の値をネイティブ形式で取得します。
public:
virtual property System::Object ^ default[int] { System::Object ^ get(int ordinal); };
public override object this[int ordinal] { get; }
member this.Item(int) : obj
Default Public Overrides ReadOnly Property Item(ordinal As Integer) As Object
パラメーター
- ordinal
- Int32
0 から始まる列の序数。
プロパティ値
指定した列のネイティブ形式の値。
例外
渡されたインデックスが 0 から FieldCount - 1 の範囲外でした。
例
次の使用例は、指定された DataTableReaderのすべての行に、すべての列の内容を表示します。 このコードでは、Item[] メソッド (Microsoft C# のインデクサー) を使用して、各列に含まれる値を取得します。
private static void DisplayItems(DataTableReader reader)
{
int rowNumber = 0;
while (reader.Read())
{
Console.WriteLine("Row " + rowNumber);
for (int i = 0; i < reader.FieldCount; i++)
{
Console.WriteLine("{0}: {1}", reader.GetName(i), reader[i]);
}
rowNumber++;
}
}
Private Sub DisplayItems(ByVal reader As DataTableReader)
Dim rowNumber As Integer
While reader.Read()
Console.WriteLine("Row " & rowNumber)
For i As Integer = 0 To reader.FieldCount - 1
Console.WriteLine("{0}: {1}", reader.GetName(i), reader.Item(i))
Next
rowNumber += 1
End While
End Sub
注釈
Item[]のこのオーバーロードは、GetValue メソッドと同じように動作します。
こちらもご覧ください
適用対象
Item[String]
列名を指定して、指定した列の値をネイティブ形式で取得します。
public:
virtual property System::Object ^ default[System::String ^] { System::Object ^ get(System::String ^ name); };
public override object this[string name] { get; }
member this.Item(string) : obj
Default Public Overrides ReadOnly Property Item(name As String) As Object
パラメーター
- name
- String
列の名前。
プロパティ値
指定した列のネイティブ形式の値。
例外
指定された名前が有効な列名ではありません。
削除された行からデータを取得しようとしました。
閉じた DataTableReader内の列の読み取りまたはアクセスが試行されました。
例
DataTableReaderと列名を指定すると、GetValueByName プロシージャは指定した列の値を返します。 このプロシージャを呼び出す前に、新しい DataTableReader インスタンスを作成し、その Read メソッドを少なくとも 1 回呼び出して、行ポインターをデータ行に配置する必要があります。
private static object GetValueByName(
DataTableReader reader, string columnName)
{
// Consider when to use a procedure like this one carefully:
// if you're going to retrieve information from a column
// in a loop, it would be better to retrieve the column
// ordinal once, store the value, and use the methods
// of the DataTableReader class directly.
// Use this string-based indexer sparingly.
object columnValue = null;
try
{
columnValue = reader[columnName];
}
catch (ArgumentException ex)
{
// Throw all other errors back out to the caller.
columnValue = null;
}
return columnValue;
}
Private Function GetValueByName( _
ByVal reader As DataTableReader, _
ByVal columnName As String) As Object
' Consider when to use a procedure like this one carefully:
' If you're going to retrieve information from a column
' in a loop, it would be better to retrieve the column
' ordinal once, store the value, and use the methods
' of the DataTableReader class directly.
' Use Item(columnName) sparingly.
Dim columnValue As Object
Try
columnValue = reader.Item(columnName)
Catch ex As ArgumentException
' Throw all other errors back out to the caller.
columnValue = Nothing
End Try
Return columnValue
End Function
注釈
大文字と小文字を区別する検索が最初に実行されます。 失敗した場合は、大文字と小文字を区別しない 2 つ目の検索が行われます。
このメソッドは、かな幅を区別しません。
このオーバーロードされたバージョンの Item[] は、 GetOrdinal メソッドの呼び出しに対応し、その後、 GetValue メソッドを呼び出します。