string output="";
//连接数据库(略)
string sql="select *  from tablename ";
SqlCommand cmd=new SqlCommand(sql,MyConn);
SqlDataReader dr1=cmd.ExecuteReader();
while(dr1.Read())//把if 改成while!!!
{
output+="<li>"+dr1["title"].ToString()+"</li><br>";
}
response.write(output.tostring());

解决方案 »

  1.   

    不用循环的话,用SqlDataAdapter和DataSet拉
      

  2.   

    药用循环,不断的用read来读取!
    或者用ds来作!
      

  3.   

    You can use the ADO.NET DataReader to retrieve a read-only, forward-only stream of data from a database. Using the DataReader can increase application performance and reduce system overhead because only one row at a time is ever in memory.SqlDataReader myReader = myCommand.ExecuteReader();
    while (myReader.Read())
      Console.WriteLine("\t{0}\t{1}", myReader.GetInt32(0), myReader.GetString(1));
    myReader.Close();
      

  4.   

    DataReader是向前只读的记录集,它从数据库里一次只能读取一条记录,同时只将用户当前检查的记录保存在内存中。
    所以要用循环
    while(myReader.Read())
    {
    ....
    }
    myReader.Close();