日期:2014-05-18  浏览次数:20413 次

数据源不支持服务器端的数据分页 这是什么错误
源码:
 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