C#中实现数据库中数据分页显示的问题

C#中实现数据库中数据分页显示的问题,第1张

using System;

using SystemData;

using SystemConfiguration;

using SystemWeb;

using SystemWebSecurity;

using SystemWebUI;

using SystemWebUIWebControls;

using SystemWebUIWebControlsWebParts;

using SystemWebUIHtmlControls;

using SystemDataOleDb;

public partial class _Default : SystemWebUIPage

{

private string m_sConnectionString = @"Provider=MicrosoftJetOLEDB40;Data Source=" + SystemWeb>

每次取的数据集是有总条数的

数据集 有当前页,总页数的属性

然后就可以分页

rspagecount

rsabsolutepage

 分页显示是web数据库应用中经常需要遇到的问题,当用户的数据库查询结果远远超过了计算机屏幕的显示能力的时候,我们该如何合理的将数据呈现给用户呢答案就是数据库分页显示,可以完美的解决上述问题下面是一个数据库分页 *** 作的通用实例,对任何数据库平台上的分页功能都有很好的借鉴意义 推荐阅读:项目要用到的主要源代码

//变量声明 扩展信息:J2ME学习笔记(三)

<%

javasqlconnection sqlcon; //数据库连接对象

javasqlstatement sqlstmt; //sql语句对象

javasqlresultset sqlrst; //结果集对象

javalangstring strcon; //数据库连接字符串

javalangstring strsql; //sql语句

int intpagesize; //一页显示的记录数

int introwcount; //记录总数

int intpagecount; //总页数

int intpage; //待显示页码

javalangstring strpage;

int i;

//设置一页显示的记录数

intpagesize = 2;

//取得待显示页码

strpage = requestgetparameter("page");

if(strpage==null){//表明在querystring中没有page这一个参数,此时显示第一页数据

intpage = 1;

}

else{//将字符串转换成整型

intpage = javalangintegerparseint(strpage);

if(intpage<1) intpage = 1;

}

因为Oracle数据库没有Top关键字,所以这里就不能够像微软的数据据那样 *** 作,这里有两种方法:

1)、一种是利用相反的。

PAGESIZE:每页显示的记录数

CURRENTPAGE:当前页号

数据表的名字是:components

索引主键字是:id

select from components where id not in(select id from components where rownum<=(PAGESIZE(CURRENTPAGE-1))) and rownum<=PAGESIZE order by id;

如下例:

select from components where id not in(select id from components where rownum<=100) and rownum<=10 order by id;

从101到记录开始选择,选择前面10条。

2)、使用minus,即中文的意思就是减去,呵呵,这语句非常的有意思,也非常好记

select from components where rownum<=(PAGESIZE(CURRENTPAGE-1)) minus select from components where rownum<=(PAGESIZE(CURRENTPAGE-2));

如例:select from components where rownum<=10 minus select from components where rownum<=5;

3)、一种是利用Oracle的rownum,这个是Oracle查询自动返回的序号,一般不显示,但是可以通过select rownum from [表名],可以看到,是从1到当前的记录总数。

select from (select rownum tid,components from components where rownum<=100) where tid<=10;

给你个截取utf-8编码的函数第一个传要截取的字符串,第二个人传开始位置,第三个传长度

function splite_mulit_utf8_word ($str, $start = 0, $length = -1 )

{

$temp = '';

if($start < 0 )

{

$start = $this->count_word($str) + $start;

}

for ($i = 0; $i < $start; $i++ )

{

$str=$this->splite_single_utf8_right_word ($str );

}

for ($i = 0; $i < $length; $i++ )

{

$temp= $this->splite_single_utf8_left_word ($str );

$str = $this->splite_single_utf8_right_word ($str );

}

if( $length == -1 )

{

return $str;

}

else

{

return $temp;

}

}

以上就是关于C#中实现数据库中数据分页显示的问题全部的内容,包括:C#中实现数据库中数据分页显示的问题、如何对数据库查询的表单实现分页和排序、Mysql 数据库怎么实现分页,要说的通俗一点儿等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10197296.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存