2012-04-16 53 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 

我怎么能执行一个循环,从DB获得所有结果,并打印出来?

谢谢


我这样做是因为这样谢谢安

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()调用之间。