次の方法で共有


DataTableReader.Item[] プロパティ

定義

指定した列の値をネイティブ形式で取得します。

オーバーロード

Item[Int32]

列の序数によって指定した列の値をネイティブ形式で取得します。

Item[String]

列名によって指定した列の値をネイティブ形式で取得します。

Item[Int32]

ソース:
DataTableReader.cs
ソース:
DataTableReader.cs
ソース:
DataTableReader.cs

列の序数によって指定した列の値をネイティブ形式で取得します。

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]

ソース:
DataTableReader.cs
ソース:
DataTableReader.cs
ソース:
DataTableReader.cs

列名によって指定した列の値をネイティブ形式で取得します。

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

注釈

大文字と小文字を区別する検索が最初に実行されます。 失敗した場合、次に大文字と小文字を区別せずに検索が行われます。

このメソッドはかな幅を区別しません。

このオーバーロードされた バージョンの は Item[] 、 メソッドの GetOrdinal 呼び出しに対応し、その後、 メソッドを GetValue 呼び出します。

適用対象