2012-04-16 4 views
0

После запроса данных из базы данных Я использовал datareader для заполнения массива. в дальнейшем.Печать нескольких строк из базы данных

connection.Open(); 
System.Data.SqlClient.SqlDataReader reader = command.ExecuteReader(); 
reader.Read(); 

_firstname = reader[0].ToString(); 
_Year = reader[1].ToString(); 
_coursename = reader[2].ToString(); 
_credits = reader[3].ToString(); 
_mark = reader[4].ToString(); 
_firstname2 = reader[5].ToString(); 

reader.Close(); 

Я Но результат показать, как показано ниже

1 - Sam Bons 
2- 2012 
3- DDD 
4- 3 
5- 80 

Как я могу выполнить цикл, чтобы получить все результаты из БД и распечатать его?

спасибо


Я сделал это как так Спасибо Энн

result = string.Empty; 
       int counter = 1; 
       while (reader.Read()) 
       { 
        _firstname = reader[0].ToString(); 
        _Year = reader[1].ToString(); 
        _coursename = reader[2].ToString(); 
        _credits = reader[3].ToString(); 
        _mark = reader[4].ToString(); 

        result += string.Format("{5} - {0}{1}{2}{3}{4} </br> ", 
         _firstname, 
         _Year, 
         _coursename, 
         _credits, 
         _mark, 
         counter); 
        counter++; 

       } 
       Response.Write(result); 

       reader.Close(); 

ответ

2

Во-первых, вы на самом деле не положить что-либо в массиве, как вы заявили. Вы просто устанавливаете, какие будут локальные переменные.

Если речь идет о синтаксисе цикла, это было бы так:

while(reader.Read()) 
{ 
    // set your variables 
    // do something with the variables 
} 

Положи между ExecuteReader вызова и reader.Close() вызова.

Смежные вопросы