DataTableReader.Item[String] DataTableReader.Item[String] DataTableReader.Item[String] DataTableReader.Item[String] Property

定義

オーバーロード

Item[Int32] Item[Int32] Item[Int32] Item[Int32]

列の序数によって指定した列の値をネイティブ形式で取得します。Gets the value of the specified column in its native format given the column ordinal.

Item[String] Item[String] Item[String] Item[String]

列名によって指定した列の値をネイティブ形式で取得します。Gets the value of the specified column in its native format given the column name.

Item[Int32] Item[Int32] Item[Int32] Item[Int32]

列の序数によって指定した列の値をネイティブ形式で取得します。Gets the value of the specified column in its native format given the column ordinal.

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 Int32 Int32 Int32

0 から始まる列序数。The zero-based column ordinal.

プロパティ値

指定した列のネイティブ形式での値。The value of the specified column in its native format.

例外

渡されたインデックスが 0 から FieldCount - 1 の範囲にありません。The index passed was outside the range of 0 to FieldCount - 1.

次の例では、すべての列の内容を、指定DataTableReaderされたのすべての行に表示します。The following example displays the contents of all the columns, in all the rows from the supplied DataTableReader. このコードではItem[String] 、メソッド (Microsoft C#ではインデクサー) を使用して、各列に含まれる値を取得します。The code uses the Item[String] method (the indexer, in Microsoft C#) to retrieve the value that is contained in each column.

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[String]は、メソッドとGetValue同じように動作します。This overload for Item[String] behaves identically to the GetValue method.

こちらもご覧ください

Item[String] Item[String] Item[String] Item[String]

列名によって指定した列の値をネイティブ形式で取得します。Gets the value of the specified column in its native format given the column name.

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 String String String

列の名前。The name of the column.

プロパティ値

指定した列のネイティブ形式での値。The value of the specified column in its native format.

例外

指定された名前は、有効な列名ではありません。The name specified is not a valid column name.

削除した行からデータを取得しようとしました。An attempt was made to retrieve data from a deleted row.

閉じている DataTableReader の列を読み取るかアクセスしようとしました。An attempt was made to read or access a column in a closed DataTableReader.

DataTableReaderと列名を指定した場合、GetValueByName プロシージャは、指定された列の値を返します。Given a DataTableReader and a column name, the GetValueByName procedure returns the value of the specified column. このプロシージャを呼び出す前に、新しいDataTableReaderインスタンスを作成し、その Read メソッドを少なくとも1回呼び出す必要があります。これにより、行ポインターがデータ行に配置されます。Before calling this procedure, you must create a new DataTableReader instance and call its Read method at least one time to position the row pointer on a row of data.

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

注釈

大文字と小文字を区別する検索が最初に実行されます。A case-sensitive lookup is performed first. 失敗した場合は、大文字小文字を区別しない検索が2回行われます。If it fails, a second case-insensitive search is made.

この方法では、かなの文字幅を区別しません。This method is kana-width insensitive.

このオーバーロードされItem[String]たバージョンのはGetOrdinal 、メソッドの呼び出しと、そのGetValue後のメソッドの呼び出しに対応します。This overloaded version of Item[String] corresponds to calling the GetOrdinal method, and then subsequently calling the GetValue method.

適用対象