循环显示数据问题
- C# code
DataSet Ds; DataTable Dt; SqlConnection Conn = new SqlConnection(strconn); Conn.Open(); String sql = "select top 5 * from News order by ID desc" ; Ds=new DataSet(); SqlDataAdapter Da = new SqlDataAdapter(sql,Conn); Conn.Close(); Da.Fill(Ds,"News"); Dr=Ds.Tables["News"]; while(Dt.Read()) { List=List+"<li>"+Dt["Title"].ToString()+"</li>"; } NoticeList="<ul>"+List+"</ul>";
提示 :编译器错误消息: CS0117: “System.Data.DataTable”并不包含“Read”的定义
[解决办法]
用错ado.net对象了
SqlDatareader Dr = new SqlDatareader (sql,Conn);
while(Dr.Read())
{
List=List+"<li>"+Dt["Title"].ToString()+"</li>";
}
这个成立
[解决办法]
while(Dt.Read())
{
List=List+"<li>"+Dt["Title"].ToString()+"</li>";
}
应改为:
for (int i=0;i<Dt.Rows.Count ;i++)
{
List=List+"<li>"+Dt.Rows[i]["Title"].ToString()+"</li>";
}
[解决办法]
- C# code
DataSet Ds; DataTable Dt; SqlConnection Conn = new SqlConnection(strconn); Conn.Open(); String sql = "select top 5 * from News order by ID desc" ; Ds=new DataSet(); SqlDataAdapter Da = new SqlDataAdapter(sql,Conn); Conn.Close(); Da.Fill(Ds,"News"); Dr=Ds.Tables["News"]; foreach(DataRow dr in Dt.Rows) { List=List+"<li>"+dr["Title"].ToString()+"</li>"; } NoticeList="<ul>"+List+"</ul>";
[解决办法]
- C# code
for (int i=0;i <Dt.Rows.Count ;i++) { List=List+" <li>"+Dt.Rows[i]["Title"].ToString()+" </li>"; }
[解决办法]
如果是以读的方式取出数据,那你就参照一楼用SqlDatareader 对象。
如果你已经取到了结果集,也就是说用了SqlDataAdapter 那你就可以用for循环一行一行的取出数据;
for(int i=0;i<DS.Tables["News"].Rows.count;i++)
{
}