错误代码:
SqlCommand cmd = new SqlCommand("select * from admin", con);
GridView1.DataSource = cmd.ExecuteReader();
GridView1.DataBind();
错误信息:数据源不支持服务器端的数据分页
分析:还记得SqlDataReader dr = cmd.ExecuteReader(),sqldatareader是不支持使用GridView的自动分页功能。用SqlDataAdapter + dataset就可以解决了。
SqlDataAdapter da = new SqlDataAdapter("select * from admin", con);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
注:DataSet是ADO.NET的中心概念.可以把DataSet当成内存中的数据库,DataSet是不依赖与数据库的独立数据集合.所谓独立,就是说,即使断开数据链路,或者关闭数据库,DataSet依然是可用的.DataSet在内部是用XML来描述数据的,由于XML是一种与平台无关、与语言无关的数据描述语言,而且可以描述复杂关系的数据,比如父子关系的数据,所以DataSet实际上可以容纳具有复杂关系的数据,而且不在依赖于数据库链路。
SqlCommand cmd = new SqlCommand("select * from admin", con);
GridView1.DataSource = cmd.ExecuteReader();
GridView1.DataBind();
错误信息:数据源不支持服务器端的数据分页
分析:还记得SqlDataReader dr = cmd.ExecuteReader(),sqldatareader是不支持使用GridView的自动分页功能。用SqlDataAdapter + dataset就可以解决了。
SqlDataAdapter da = new SqlDataAdapter("select * from admin", con);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
注:DataSet是ADO.NET的中心概念.可以把DataSet当成内存中的数据库,DataSet是不依赖与数据库的独立数据集合.所谓独立,就是说,即使断开数据链路,或者关闭数据库,DataSet依然是可用的.DataSet在内部是用XML来描述数据的,由于XML是一种与平台无关、与语言无关的数据描述语言,而且可以描述复杂关系的数据,比如父子关系的数据,所以DataSet实际上可以容纳具有复杂关系的数据,而且不在依赖于数据库链路。