如何在C#中打印出数据库中一行中的所有列

时间:2014-08-21 15:56:36

标签: c# sql

如何打印出数据库中单行返回的所有列。我可以通过手动为每列添加代码来打印定义的数字,如下所示,这对于此示例仅适用于前3列。但该表有许多列。

while (reader.Read())
{
  Console.WriteLine("\t{0}\t{1}\t{2}", reader[0], reader[1], reader[2]);
}

如何动态打印每个列值而无需写入阅读器[n]?有没有办法循环。我尝试过使用for循环,但是当没有任何内容可读时,我收到一条错误,指出尝试Read()。 (或那些影响的话)

3 个答案:

答案 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