谁有ACCESS数据库的分页方案~性能好一点的~谢谢

解决方案 »

  1.   

    发给我看看吧~谢谢~继续顶顶[email protected]
      

  2.   

    access???
    能共享一下吗?
    [email protected]
    谢谢
      

  3.   

    /// <summary>
    /// 读取分页的数据
    /// </summary>
    /// <param name="s_model"></param>
    /// <returns></returns>
    public DataSet Bind(SQLModel s_model )
    {
    string text1 = "";
    if (s_model.OrderType == "Desc")
    {
    if (s_model.Condition == "None")
    {
    if (s_model.PageNo == 1)
    {
    text1 = "Select Top " + s_model.PageSize.ToString() + " " + s_model.Fields + " From " + s_model.TableName + " Order By " + s_model.OrderField + " Desc";
    }
    if (s_model.PageNo > 1)
    {
    text1= "Select Top "+ s_model.PageSize.ToString()+ " "+ s_model.Fields+ " From "+ s_model.TableName+ " Where "+ s_model.OrderField+ "<(Select Min("+ s_model.OrderField+ ") From (Select Top "+ (s_model.PageSize * (s_model.PageNo - 1)).ToString()+ " "+ s_model.OrderField+ " From "+ s_model.TableName +  " Order By "+ s_model.OrderField+ " Desc) Temp) Order By "+ s_model.OrderField+ " Desc" ;
    }
    }
    else
    {
    if (s_model.PageNo == 1)
    {
    text1 = "Select Top " + s_model.PageSize.ToString() + " " + s_model.Fields + " From " + s_model.TableName + " " + s_model.Condition + " Order By " + s_model.OrderField + " Desc";
    }
    if (s_model.PageNo > 1)
    {
    text1 = "Select Top "+ s_model.PageSize.ToString()+ " "+ s_model.Fields+ " From "+ s_model.TableName+ " "+ s_model.Condition+ " And "+ s_model.OrderField+ "<(Select Min("+ s_model.OrderField+ ") From (Select Top "+ (s_model.PageSize * (s_model.PageNo - 1)).ToString()+ " "+ s_model.OrderField+ " From "+ s_model.TableName+ " "+ s_model.Condition+ " Order By "+ s_model.OrderField+ " Desc) Temp) Order By "+ s_model.OrderField+ " Desc";
    }
    }
    }
    else if (s_model.Condition == "None")
    {
    if (s_model.PageNo == 1)
    {
    text1 = "Select Top " + s_model.PageSize.ToString() + " " + s_model.Fields + " From " + s_model.TableName + " Order By " + s_model.OrderField + " Asc";
    }
    if (s_model.PageNo > 1)
    {
    text1 = "Select Top "+ s_model.PageSize.ToString()+ " "+ s_model.Fields+ " From "+ s_model.TableName+ " Where "+ s_model.OrderField+ ">(Select Max("+ s_model.OrderField+ ") From (Select Top "+ (s_model.PageSize * (s_model.PageNo - 1)).ToString()+ " "+ s_model.OrderField+ " From "+ s_model.TableName+ " Order By "+ s_model.OrderField+ " Asc) Temp) Order By "+ s_model.OrderField+ " Asc";
     
    }
    }
    else
    {
    if (s_model.PageNo == 1)
    {
    text1 = "Select Top " + s_model.PageSize.ToString() + " " + s_model.Fields + " From " + s_model.TableName + " " + s_model.Condition + " Order By " + s_model.OrderField + " Asc";
    }
    if (s_model.PageNo > 1)
    {
    text1 = "Select Top "+ s_model.PageSize.ToString()+ " "+ s_model.Fields+ " From "+ s_model.TableName + " "+ s_model.Condition+ " And "+ s_model.OrderField+ ">(Select Max("+ s_model.OrderField+ ") From (Select Top "+ (s_model.PageSize * (s_model.PageNo - 1)).ToString()+ " "+ s_model.OrderField+ " From "+ s_model.TableName+ " "+ s_model.Condition+ " Order By "+ s_model.OrderField+ " Asc) Temp) Order By "+ s_model.OrderField+ " Asc";
     
    }
    }
    return this.ReturnDataSet(text1);
    }
      

  4.   

    private string tablename;
    private string fields;
    private string condition;
    private string orderfield;
    private string ordertype;
    private int pagesize;
    private int pageno;
    private int totalpage;
    private int totalrec; //============================
    // private static int xmlGBPageSize ;
    // private static int xmlAdmin_Article_PageSize;
    // private static int xmlAdmin_Soft_PageSize ;
    // private static int xmlArticleClassPageSize ;
    // private static int xmlSoftClassPageSize ;
    // private static string xmlSiteName ; 
    //=============================
    /// <summary>
    /// 表名
    /// </summary>
    public string TableName
    {
    get
    {
    return tablename;
    }
    set
    {
    tablename = value;
    }
    }
    /// <summary>
    /// 字段
    /// </summary>
    public string Fields
    {
    get
    {
    return fields;
    }
    set
    {
    fields = value;
    }
    }
    /// <summary>
    /// 查询条件
    /// </summary>
    public string Condition
    {
    get
    {
    return condition;
    }
    set
    {
    condition = value;
    }
    }
    /// <summary>
    /// 排序字段
    /// </summary>
    public string OrderField
    {
    get
    {
    return orderfield;
    }
    set
    {
    orderfield = value;
    }
    }
    /// <summary>
    /// 排序类型
    /// </summary>
    public string OrderType
    {
    get
    {
    return ordertype;
    }
    set
    {
    ordertype = value;
    }
    }
    /// <summary>
    /// 当前页码
    /// </summary>
    public int PageNo
    {
    get
    {
    return pageno;
    }
    set
    {
    if (value < 1)
    {
    pageno = 1;
    }
    else
    {
    pageno = value;
    }
    }
    }
    /// <summary>
    /// 每页显示N行
    /// </summary>
    public int PageSize
    {
    get
    {
    return pagesize;
    }
    set
    {
    pagesize = value;
    }
    }
     
     /// <summary>
     /// 共有多少页
     /// </summary>
    public int TotalPage
    {
    get
    {
    return totalpage;
    }
    set
    {
    totalpage = value;
    }
    }
    /// <summary>
    /// 共有多少行数据
    /// </summary>
    public int TotalRec
    {
    get
    {
    return totalrec;
    }
    set
    {
    totalrec = value;
    }
    }  
    /// <summary>
    /// 留言本每页显示N行
    /// </summary>
    public int GBPageSize
    {
    get
    {
    return Convert.ToInt32( ConfigurationSettings.AppSettings["GBPageSize"] );
    }
    }
    /// <summary>
    /// 后台文章栏目每页显示N行
    /// </summary>
    public int Admin_Article_PageSize
    {
    get
    {
    return Convert.ToInt32( ConfigurationSettings.AppSettings["Admin_Article@PageSize"]);
    }
    } /// <summary>
    /// 后台软件栏目每页显示N行
    /// </summary>
    public int Admin_Soft_PageSize
    {
    get
    {
    return Convert.ToInt32(ConfigurationSettings.AppSettings["Admin_Soft@PageSize"]);
    }
    }
    /// <summary>
    /// 前台文章栏目每页显示N行
    /// </summary>
    public int ArticleClassPageSize
    {
    get
    {
    return Convert.ToInt32(ConfigurationSettings.AppSettings["ArticleClassPageSize"]);
    }
    }
    /// <summary>
    /// 前台软件栏目每页显示N行
    /// </summary>
    public int SoftClassPageSize
    {
    get
    {
    return Convert.ToInt32(ConfigurationSettings.AppSettings["SoftClassPageSize"]);
    }
    } /// <summary>
    /// 网站名字
    /// </summary>
    public string SiteName
    {
    get
    {
    return ConfigurationSettings.AppSettings["SiteName"];
    }
    }
      

  5.   

    /// <summary>
    /// 读取分页的数据
    /// </summary>
    /// <param name="s_model"></param>
    /// <returns></returns>
    public DataSet Bind(SQLModel s_model )
    {
    string text1 = "";
    if (s_model.OrderType == "Desc")
    {
    if (s_model.Condition == "None")
    {
    if (s_model.PageNo == 1)
    {
    text1 = "Select Top " + s_model.PageSize.ToString() + " " + s_model.Fields + " From " + s_model.TableName + " Order By " + s_model.OrderField + " Desc";
    }
    if (s_model.PageNo > 1)
    {
    text1= "Select Top "+ s_model.PageSize.ToString()+ " "+ s_model.Fields+ " From "+ s_model.TableName+ " Where "+ s_model.OrderField+ "<(Select Min("+ s_model.OrderField+ ") From (Select Top "+ (s_model.PageSize * (s_model.PageNo - 1)).ToString()+ " "+ s_model.OrderField+ " From "+ s_model.TableName +  " Order By "+ s_model.OrderField+ " Desc) Temp) Order By "+ s_model.OrderField+ " Desc" ;
    }
    }
    else
    {
    if (s_model.PageNo == 1)
    {
    text1 = "Select Top " + s_model.PageSize.ToString() + " " + s_model.Fields + " From " + s_model.TableName + " " + s_model.Condition + " Order By " + s_model.OrderField + " Desc";
    }
    if (s_model.PageNo > 1)
    {
    text1 = "Select Top "+ s_model.PageSize.ToString()+ " "+ s_model.Fields+ " From "+ s_model.TableName+ " "+ s_model.Condition+ " And "+ s_model.OrderField+ "<(Select Min("+ s_model.OrderField+ ") From (Select Top "+ (s_model.PageSize * (s_model.PageNo - 1)).ToString()+ " "+ s_model.OrderField+ " From "+ s_model.TableName+ " "+ s_model.Condition+ " Order By "+ s_model.OrderField+ " Desc) Temp) Order By "+ s_model.OrderField+ " Desc";
    }
    }
    }
    else if (s_model.Condition == "None")
    {
    if (s_model.PageNo == 1)
    {
    text1 = "Select Top " + s_model.PageSize.ToString() + " " + s_model.Fields + " From " + s_model.TableName + " Order By " + s_model.OrderField + " Asc";
    }
    if (s_model.PageNo > 1)
    {
    text1 = "Select Top "+ s_model.PageSize.ToString()+ " "+ s_model.Fields+ " From "+ s_model.TableName+ " Where "+ s_model.OrderField+ ">(Select Max("+ s_model.OrderField+ ") From (Select Top "+ (s_model.PageSize * (s_model.PageNo - 1)).ToString()+ " "+ s_model.OrderField+ " From "+ s_model.TableName+ " Order By "+ s_model.OrderField+ " Asc) Temp) Order By "+ s_model.OrderField+ " Asc";
     
    }
    }
    else
    {
    if (s_model.PageNo == 1)
    {
    text1 = "Select Top " + s_model.PageSize.ToString() + " " + s_model.Fields + " From " + s_model.TableName + " " + s_model.Condition + " Order By " + s_model.OrderField + " Asc";
    }
    if (s_model.PageNo > 1)
    {
    text1 = "Select Top "+ s_model.PageSize.ToString()+ " "+ s_model.Fields+ " From "+ s_model.TableName + " "+ s_model.Condition+ " And "+ s_model.OrderField+ ">(Select Max("+ s_model.OrderField+ ") From (Select Top "+ (s_model.PageSize * (s_model.PageNo - 1)).ToString()+ " "+ s_model.OrderField+ " From "+ s_model.TableName+ " "+ s_model.Condition+ " Order By "+ s_model.OrderField+ " Asc) Temp) Order By "+ s_model.OrderField+ " Asc";
     
    }
    }
    return this.ReturnDataSet(text1);
    }