2010-04-29 61 views
18

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

+0

这可能有助于http://stackoverflow.com/questions/2728170/system-data-common-dbdatareader/2728203#2728203 – 2010-04-29 15:48:20

回答

26

这种方法时传递一个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; 
} 
3
for (int j = 0; j < x.VisibleFieldCount; j++) 
      Console.WriteLine(x.GetName(j)); 
11

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

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

我爱扩展方法,我觉得像注入和揭露这种行为..: ) – 2010-04-29 16:19:54