Как распечатать все столбцы из строки в базе данных в C #

1

Как вы можете распечатать все столбцы, возвращенные в одной строке из базы данных. Я могу напечатать определенное число, вручную добавив код для каждого столбца, как показано ниже, и это отлично работает для этого примера только с первыми тремя столбцами. Но в таблице много столбцов.

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

Как я могу динамически печатать каждое значение столбца без необходимости писать до читателя [n]? Есть ли способ зацикливаться. Я попытался использовать цикл for, но я получаю сообщение об ошибке с попыткой Read(), когда читать нечего. (или слова к этому влиянию)

  • 0
    Я уверен, что вы можете запросить базу данных для столбцов в таблице, а затем динамически построить вашу строку. (Подсказка: найдите это решение)
Теги:

3 ответа

1
Лучший ответ

Ну вот:

while (reader.Read())
{
   for (int i = 0; i < reader.FieldCount; i++)
   {
       Console.WriteLine("\t{0}", reader[i]);
   }
}
  • 0
    Спасибо за ответы
1

Попробуй это

while (reader.Read())
{
    Console.WriteLine(string.Join("\t", reader));
}

статический метод string.Join() примет массив объектов, вызовет ToString() на них и вставляет предоставленную строку между ними для любого размера.

  • 0
    Спасибо за ответы. Это просто печатает "System.Data.SqlClient.SqlDataReader"
0

Попробуйте эту ссылку. Указанный объект должен помочь вам получить желаемые результаты.

http://www.thinqlinq.com/default/consuming-a-datareader-with-linq

Ещё вопросы

Сообщество Overcoder
Наверх
Меню