从数据库打印多行

时间:2012-04-16 19:33:20

标签: c# sql database wml

从数据库查询数据后 我用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 

如何执行循环以从数据库获取所有结果并将其打印出来?

谢谢


我是这样做的谢谢Ann

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();

1 个答案:

答案 0 :(得分:2)

首先,正如你所说,你实际上并没有把任何东西放在数组中。你只是设置看起来像局部变量。

如果你的问题是关于循环的语法,那就是这样的:

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

将它放在你的ExecuteReader调用和reader.Close()调用之间。