2010-10-29 68 views
3

这是一个漫长的一天,我似乎已经画了一个空白与我目前的问题。下面是我的HomeController中包含的代码:foreach循环通过数据库表.net c#

public ActionResult About() 
     { 
      SqlDataReader rdr; 
      string fileName = ""; 
      const string connect = @"Server=localhost;Database=Images;user id=user; password=password;"; 

      using (var conn = new SqlConnection(connect)) 
      { 

       var qry = "SELECT FileName FROM FileStore"; 
       var cmd = new SqlCommand(qry, conn); 
       conn.Open(); 
       rdr = cmd.ExecuteReader(); 

       if (rdr.HasRows) 
       { 
        rdr.Read(); 
        fileName = rdr["FileName"].ToString(); 
       } 

      } 
      return View(); 
     } 

我只是想在视图中显示数据库中的文件名列表。我记得如何做到这一点,但我坚持如何编写将通过我的sql表循环语句。

有人可以指点我正确的方向吗?

回答

3
if (rdr.HasRows) { 
    while (rdr.Read()) { 
     fileName = rdr["FileName"].ToString(); 
    } 
} 
2
if (rdr.HasRows) 
    { 
     while (rdr.Read()) 
     { 
      Console.WriteLine("{0}",rdr.GetString(0)); 
     } 
    } 
3

你的意思是在while (rdr.Read())

while (rdr.Read()) 
{ 
    fileName = rdr["FileName"].ToString(); 
} 

注意:使用此模式,您不需要.HasRows