用SQL语句分页
有2000多页。
上一页,下一页速度都很快。
直接按最后一页就报错,是什么原因。
报:超时时间已到。在操作完成之前超时时间已过或服务器未响应。
System.Data.SqlClient.SqlException: 超时时间已到。在操作完成之前超时时间已过或服务器未响应。
cmd.Parameters.AddRange(values);
行 144:                SqlDataAdapter da = new SqlDataAdapter(cmd);
行 145:                da.Fill(ds);
行 146:                return ds.Tables[0];

解决方案 »

  1.   

    数据很多使用分页存储过程
    http://topic.csdn.net/u/20090223/21/e0ecbc48-2952-473a-9699-de2c8b4c577f.html
    http://topic.csdn.net/u/20090403/20/376f6162-709d-4c71-bac0-371e53589930.html
      

  2.   


    aspnetpager分页控件和数据没有直接关系,分页快慢取决于你获取数据的速度
      

  3.   

    private static int PAGESIZE = 10;    //每页显示条数
        private int PageCount = (UnauditedUrlManager.GetPageCount() - 1) / PAGESIZE + 1;   //计算总页数    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                ViewState["PageNo"] = 1;
                Databind();
            }
        }
        /// <summary>
        //分页
        /// </summary>
        private void Databind()
        {
            lblPageNo.Text = "第" + (Paper) + "页";
            lblPageCount.Text = "共" + (PageCount) + "页";
            dlUrl.DataSource = UnauditedUrlManager.GetUnauditedUrlFenPage(PAGESIZE, Paper);
            dlUrl.DataBind();
            //隐藏/显示 linkButton
            DisplayLinkButton();
        }
        /// <summary>
        /// 第一页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void lbOne_Click(object sender, EventArgs e)
        {
            Paper = 1;   
            Databind();
        }
        /// <summary>
        /// 上一页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void lbShang_Click(object sender, EventArgs e)
        {
            Paper = Paper > 1 ? --Paper : 1;  
            Databind();
        }
        /// <summary>
        /// 下一页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void lbXia_Click(object sender, EventArgs e)
        {
            Paper = Paper < PageCount ? ++Paper : PageCount;   
            Databind();
        }
        /// <summary>
        /// 最后一页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void lbLastOne_Click(object sender, EventArgs e)
        {
            Paper = PageCount; 
            Databind();
        }    /// <summary>
        /// 页号
        /// </summary>
        private int Paper
        {
            get { return int.Parse(ViewState["PageNo"].ToString()); }
            set { ViewState["PageNo"] = value; }
        }