Heim  >  Artikel  >  Datenbank  >  DataGrid基于Access的快速分页法

DataGrid基于Access的快速分页法

WBOY
WBOYOriginal
2016-06-07 15:49:291048Durchsuche

// 产生根据指定字段排序并分页查询的 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();

}

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn