如何在数据读取器中打印所有列

22

如何在 C# 中打印数据读取器中的所有列?


这可能会有所帮助 http://stackoverflow.com/questions/2728170/system-data-common-dbdatareader/2728203#2728203 - Daniel Renshaw
3个回答

32

当传递一个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;
}

14

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

public static IEnumerable<string> GetColumnNames(this IDataReader reader)
{
    for(int i=0; i<reader.FieldCount; i++)
        yield return reader.GetName(i);
}

1
我喜欢扩展方法,感觉像是注入并暴露了那个行为.. :) - Srinivas Reddy Thatiparthy

3
for (int j = 0; j < x.VisibleFieldCount; j++)
            Console.WriteLine(x.GetName(j));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接