結果セットでは、すべてのカラムに名前があるとは限らないほか、すべてのカラム名がユニークであるとは限りません。エイリアスを使用していない場合は、非計算カラムの名前には、そのカラムの元となるテーブルの名前がプレフィクスとして付けられます。たとえば、MyTable.ID
は、クエリ "SELECT ID FROM MyTable" の結果セットに含まれる唯一のカラムの名前です。
カラムに何回もアクセスするときは、名前ではなく、カラム ID でアクセスすると効率が良くなります。
このメソッドは次と同じです。
dataReader.GetValue( dataReader.GetOrdinal( name ) )