如何在 C# 中打印数据读取器中的所有列?
如何在 C# 中打印数据读取器中的所有列?
当传递一个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;
}
为了给答案增加一些价值,我包括了一个可能的扩展方法来返回给定DataReader
的列名。
public static IEnumerable<string> GetColumnNames(this IDataReader reader)
{
for(int i=0; i<reader.FieldCount; i++)
yield return reader.GetName(i);
}
for (int j = 0; j < x.VisibleFieldCount; j++)
Console.WriteLine(x.GetName(j));