当前位置: 代码迷 >> ASP.NET >> 数据源不支持服务器端的数据分页 这是什么东东
  详细解决方案

数据源不支持服务器端的数据分页 这是什么东东

热度:133   发布时间:2013-02-25 00:00:00.0
数据源不支持服务器端的数据分页 这是什么错误
源码:
 protected void Page_Load(object sender, EventArgs e)
  {
  if (!Page.IsPostBack)
  { ShowBookAppraise();
  }
  }


 private void ShowBookAppraise()
   
  {
  string Bookid;
  Bookid = Request.QueryString["BookId"].ToString();
  string StrConn = ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString;
  SqlParameter[] parms = new SqlParameter[1];

  parms[0] = new SqlParameter("@BookId",SqlDbType.VarChar,50);
  parms[0].Direction = ParameterDirection.Input;
  parms[0].Value=Bookid;
   

  showBookappraise.DataSource=ExecPro.ExecPro.ExecuteReader(StrConn, CommandType.StoredProcedure, "ShowBookAppraise", parms);
  showBookappraise.DataBind();
  
   
  }
显示的错误是: 数据源不支持服务器端的数据分页

------解决方案--------------------------------------------------------
用dataset做数据源,要不就别分页
------解决方案--------------------------------------------------------
如果用datareader分页也可以,自己写sql语句来取记录
------解决方案--------------------------------------------------------
很明显用DataReader + 高效率SQL语句 好!
------解决方案--------------------------------------------------------
DataSet才可以

你这个还有个问题 
SqlDataReader= ExecPro.ExecPro.ExecuteReader(StrConn, CommandType.StoredProcedure, "ShowBookAppraise", parms); showBookappraise.DataSource=dr;
showBookappraise.DataBind(); 
dr.close()
DataReader使用完后要关闭
------解决方案--------------------------------------------------------
ExecuteReader不支持分页,
请用ExecuteDataSet
  相关解决方案