DataGrid基于Access的快速分页法

WBOY
リリース: 2016-06-07 15:49:29
オリジナル
1052 人が閲覧しました

// 产生根据指定字段排序并分页查询的 SELECT 语句。 public static String Paging( int pageSize, // 每页要显示的记录的数目。 int pageIndex, // 要显示的页的索引。 int recordCount, // 数据表中的记录总数。 String tableName, // 要查询的数据表。 St

// 产生根据指定字段排序并分页查询的 SELECT 语句。

public static String Paging(

       int pageSize,          //每页要显示的记录的数目。

       int pageIndex,            //要显示的页的索引。

       int recordCount,      //数据表中的记录总数。

       String tableName,      //要查询的数据表。

       String queryFields,    //要查询的字段。

       String primaryKey,    //主键字段。

       bool ascending,       //是否为升序排列。

       String condition       //查询的筛选条件。

) {

       StringBuilder sb  = new StringBuilder();

       int pageCount    = GetPageCount(recordCount,pageSize);     //分页的总数

       int middleIndex  = GetMidPageIndex(pageCount);                   //中间页的索引

       int firstIndex     = 0;                                                         //第一页的索引

       int lastIndex     = pageCount - 1;                                     //最后一页的索引

 

       if (pageIndex

              // 代码略

       } else if (pageIndex > firstIndex && pageIndex

              sb.Append("SELECT TOP ").Append(pageSize).Append(" ")

                     .Append(queryFields).Append(" FROM ").Append(tableName)

                     .Append(" WHERE ").Append(primaryKey);

              if (ascending)

                     sb.Append(" > (").Append(" SELECT MAX(");

              else

                     sb.Append("

              sb.Append(primaryKey).Append(") FROM ( SELECT TOP ")

                     .Append(pageSize*pageIndex).Append(" ").Append(primaryKey)

                     .Append(" FROM ").Append(tableName);

              if (condition != String.Empty)

                     sb.Append(" WHERE ").Append(condition);

              sb.Append(" ORDER BY ").Append(primaryKey).Append(" ")

                     .Append(GetSortType(ascending)).Append(" ) TableA )");

              if (condition != String.Empty)

                     sb.Append(" AND ").Append(condition);

              sb.Append(" ORDER BY ").Append(primaryKey).Append(" ")

                     .Append(GetSortType(ascending));

       }

       else if (pageIndex > middleIndex && pageIndex

              // 代码略

       } else if (pageIndex >= lastIndex) {

              // 代码略

       }

       return sb.ToString();

}

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート