如何打印出数据库中单行返回的所有列。我可以通过手动为每列添加代码来打印定义的数字,如下所示,这对于此示例仅适用于前3列。但该表有许多列。
while (reader.Read())
{
Console.WriteLine("\t{0}\t{1}\t{2}", reader[0], reader[1], reader[2]);
}
如何动态打印每个列值而无需写入阅读器[n]?有没有办法循环。我尝试过使用for循环,但是当没有任何内容可读时,我收到一条错误,指出尝试Read()。 (或那些影响的话)
答案 0 :(得分:1)
你走了:
while (reader.Read())
{
for (int i = 0; i < reader.FieldCount; i++)
{
Console.WriteLine("\t{0}", reader[i]);
}
}
答案 1 :(得分:1)
试试这个
while (reader.Read())
{
Console.WriteLine(string.Join("\t", reader));
}
静态方法string.Join()
将获取一个对象数组,对它们调用ToString(),并在它们之间插入提供的任意大小的字符串。
答案 2 :(得分:0)
试试此链接。所述目标应该可以帮助您获得理想的结果。
http://www.thinqlinq.com/default/consuming-a-datareader-with-linq