通用分页方法及基于.net的应用

来源:互联网 发布:wemall商业版源码 编辑:程序博客网 时间:2024/06/05 20:03
 

终于把老板的问题解决了!

select *
from (
    select row_number()over(order by tempColumn)tempRowNumber,*
    from (select tempColumn=0,* from (
数据源(直接是一条sql语句,例如:select * from test)
)a)t
)tt
where tempRowNumber>起始位置 and
tempRowNumber<结束位置

基于.net的应用
    public DataSet getDataSet(string sql,int currentpage,int pagesize)
    {
        int start = currentpage * pagesize;
        int end=start+pagesize;
            sql ="select *from (select row_number()over(order by tempColumn)tempRowNumber,*from (select tempColumn=0,* from ("+sql
                +")a)t)tt where tempRowNumber>="+start+" and tempRowNumber<"+end;
        OleDbDataAdapter da = new OleDbDataAdapter(sql, mycon);
        mycon.Open();
        DataSet ds = new DataSet();
        da.Fill(ds);
        mycon.Close();
        return ds;
    }


 //源于轻风阁

原创粉丝点击