22

使用 c# 如何打印数据读取器中的所有列。

4

3 回答 3

32

当传递给数据读取器时,此方法将返回列名的可枚举列表:

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;
}
于 2010-04-29T15:47:46.950 回答
14

为了给答案增加一些价值,我包括了一个可能的扩展方法来返回给定的列名DataReader

public static IEnumerable<string> GetColumnNames(this IDataReader reader)
{
    for(int i=0; i<reader.FieldCount; i++)
        yield return reader.GetName(i);
}
于 2010-04-29T15:51:01.457 回答
3
for (int j = 0; j < x.VisibleFieldCount; j++)
            Console.WriteLine(x.GetName(j));
于 2010-04-29T15:48:22.803 回答