zoukankan      html  css  js  c++  java
  • 手写分页函数C#

            /// <summary>
            
    /// 返回数据集
            
    /// </summary>
            
    /// <param name="sql"></param>
            
    /// <returns></returns>

            public DataSet GetData(string sql,string strconn)
            
    {
                OleDbConnection ole
    =new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source="+strconn);
                ole.Open();
                OleDbCommand cm
    =new OleDbCommand(sql,ole);
                DataSet ds
    =new DataSet();
                OleDbDataAdapter da
    =new OleDbDataAdapter(cm);
                da.Fill(ds);
                ole.Close();

                
    return ds;
            }


            /// <summary>
            
    /// 分页
            
    /// </summary>
            
    /// <param name="pagesize">每页大小</param>
            
    /// <param name="pageindex">当前页数</param>
            
    /// <param name="field">获取字段名</param>
            
    /// <param name="tablename">表名</param>
            
    /// <param name="orderfield">排序字段</param>
            
    /// <param name="taxis">排序方式,true为升序,false为降序</param>
            
    /// <param name="condition">满足的条件</param>
            
    /// <returns></returns>

            public DataSet GetPage(int pagesize,int pageindex,string field,string tablename,string orderfield,bool taxis,string condition)
            
    {
                
    string temp;
                
    if(taxis)
                
    {
                    temp
    ="asc";
                }

                
    else
                
    {
                    temp
    ="desc";
                }


                
    string sql;
                
    if(pageindex==1)              
                
    {
                    
    if(condition=="")
                    
    {
                        sql
    ="select top "+pagesize+" "+field+" from "+tablename+" order by "+orderfield+" "+temp;
                        
    return GetData(sql);
                    }

                    
    else
                    
    {
                        sql
    ="select top "+pagesize+" "+field+" from "+tablename+" where "+condition+" order by "+orderfield+" "+temp;
                        
    return GetData(sql);
                    }

                }

                
    else
                
    {
                    pageindex
    =(pageindex-1)*pagesize;
                    
    if(condition=="")
                    
    {
                        
    if(taxis)
                        
    {
                            sql
    ="select top "+pagesize+" "+field+" from "+tablename+" where "+orderfield+">all(select top "+pageindex+" "+orderfield+" from "+tablename+" order by "+orderfield+" "+temp+") order by "+orderfield+" "+temp;
                        }

                        
    else
                        
    {
                            sql
    ="select top "+pagesize+" "+field+" from "+tablename+" where "+orderfield+"<all(select top "+pageindex+" "+orderfield+" from "+tablename+" order by "+orderfield+" "+temp+") order by "+orderfield+" "+temp;
                        }

                        
    return GetData(sql);
                    }

                    
    else
                    
    {
                        
    if(taxis)
                        
    {
                            sql
    ="select top "+pagesize+" "+field+" from "+tablename+" where "+condition+" and "+orderfield+">all(select top "+pageindex+" "+orderfield+" from "+tablename+" where "+condition+" order by "+orderfield+" "+temp+") order by "+orderfield+" "+temp;
                        }

                        
    else
                        
    {
                            sql
    ="select top "+pagesize+" "+field+" from "+tablename+" where "+condition+" and "+orderfield+"<all(select top "+pageindex+" "+orderfield+" from "+tablename+" where "+condition+" order by "+orderfield+" "+temp+") order by "+orderfield+" "+temp;
                        }

                        
    return GetData(sql);
                    }

                }


            }



    希望给于评价
  • 相关阅读:
    Codeforces 651 A. Joysticks
    Codeforces 538 C. Tourist's Notes
    Codeforces 538 B. Quasi Binary
    Codeforces 538 A. Cutting Banner-substr()函数字符串拼接
    Codeforces 626 C. Block Towers-二分 (8VC Venture Cup 2016-Elimination Round)
    Codeforces 626 B. Cards (8VC Venture Cup 2016-Elimination Round)
    hdu 4825 Xor Sum trie树
    Codeforces Round #358 (Div. 2) C. Alyona and the Tree dfs
    Codeforces Round #357 (Div. 2) 优先队列+模拟
    2016 湘潭邀请赛
  • 原文地址:https://www.cnblogs.com/wang123/p/586505.html
Copyright © 2011-2022 走看看