22

Using c# how do I print all columns in a datareader.

Justin Niessner
  • 242,243
  • 40
  • 408
  • 536
svon
  • 335
  • 1
  • 7
  • 14

3 Answers3

32

This method will return an enumerable list of column names when passed a datareader:

static List<string> GetDataReaderColumnNames(IDataReader rdr)
{
    var columnNames = new List<string>();
    for (int i = 0; i < rdr.FieldCount; i++)
        columnNames.Add(rdr.GetName(i));
    return columnNames;
}
D'Arcy Rittich
  • 167,292
  • 40
  • 290
  • 283
14

To add some value to the answers, I included a possible extension method to return the column names for a given DataReader.

public static IEnumerable<string> GetColumnNames(this IDataReader reader)
{
    for(int i=0; i<reader.FieldCount; i++)
        yield return reader.GetName(i);
}
Justin Niessner
  • 242,243
  • 40
  • 408
  • 536
3
for (int j = 0; j < x.VisibleFieldCount; j++)
            Console.WriteLine(x.GetName(j));
Tejs
  • 40,736
  • 10
  • 68
  • 86