【问题标题】:Multiple rows printing from database从数据库打印多行
【发布时间】:2012-04-16 19:33:20
【问题描述】:

从数据库中查询数据后 我使用数据读取器来填充数组。如下。

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

【问题讨论】:

    标签: c# sql database wml


    【解决方案1】:

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

    如果您的问题是关于循环的语法,应该是这样的:

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

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

    【讨论】:

      猜你喜欢
      • 2017-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-03
      • 2018-01-28
      • 1970-01-01
      相关资源
      最近更新 更多