工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 2695|回复: 12

[原创]DATAGRID的分页程序以及代码下载

[复制链接]
发表于 2005-6-27 19:13 | 显示全部楼层 |阅读模式
今天回顾了以前弄的.NET程序。发现年前弄的一个ASP.NET分页程序似乎还不错了。呵呵。
下面将其发出来,希望对大家能有所帮助了。

下载地址:点击这里

主要实现的功能是被开DATAGRID读取所有表数据的的分页程序。
关键视线代码:
只读取需要分页中某一页面的新闻条数。
         if (intStartIndex==0 )
         {
            strSelect = "Select top "+dgrdProducts.PageSize+" newsid,title,classcn,classen From news  where classen='"+classen+"' order by newsid desc";
         }
         else
         {
         strSelect = "Select top "+dgrdProducts.PageSize+" newsid,title,classcn,classen  From news  where newsid < (select min(newsid) from (select top "+topnum+" newsid from news where classen='"+classen+"' order by newsid desc ) as T) and classen='"+classen+"' order by newsid desc";

         }

设置DATAGRID的页码。
            classen = Request.Params["classen"];
      
            strSelect = "Select  Count(*) From news where classen='"+classen+"'";
            cmdSelect = new SqlCommand( strSelect, conNorthwind );
            conNorthwind.Open();
            dgrdProducts.VirtualItemCount = (int)cmdSelect.ExecuteScalar();


其中最主要的是将SQL查询所得的新闻总页码值负给DAGRID的页码值。dgrdProducts.VirtualItemCount就是DATAGRID页码值的参数。

大鱼原创,欢迎爱好。NET的各位,共同研究研究。
发表于 2005-6-27 21:24 | 显示全部楼层
用户名: hjack [退出登录]
作者: 大鱼
评分: 积分 15 点
标题: [原创]DATAGRID的分页程序以及代码下载
------------------------------
感谢对本版的支持,希望继续支持。
回复

使用道具 举报

发表于 2005-6-27 23:08 | 显示全部楼层
不了解.net的说...不过感觉用sql语句来做分页对效率方面应该比较有好处...偶做分页方法比较低级,,,靠的是JDBC的ResultSet游标移动来分页的...

楼主and斑竹不妨讨论下两种分页方法效率问题...
回复

使用道具 举报

发表于 2005-6-27 23:08 | 显示全部楼层
这是连MS SQL的吧?Select top  不可以用在ORC 跟MYSQL上
回复

使用道具 举报

发表于 2005-6-28 00:03 | 显示全部楼层
当然是sql语句分页方法的效率高。
数据量越大,差别越明显。
回复

使用道具 举报

发表于 2005-6-28 00:56 | 显示全部楼层
jojo...select top好像也可以用在mysql哦...

他写.net的理所当然连的是sqlserver吧...
回复

使用道具 举报

发表于 2005-6-28 01:16 | 显示全部楼层
hjack  在 2005-6-28 00:03 发表:

当然是sql语句分页方法的效率高。
数据量越大,差别越明显。


不过如果这么分页好像一个语句要select好几次,,,这样不是会降低效率吗?
回复

使用道具 举报

发表于 2005-6-29 13:50 | 显示全部楼层
具体内部的机制是怎样实现的,我也不是很清楚
回复

使用道具 举报

发表于 2005-6-29 22:50 | 显示全部楼层
sql是偶的薄弱环节...有机会跟楼上请教些数据库的知识...听joe说你数据库方面很强的说...
回复

使用道具 举报

发表于 2005-6-30 08:16 | 显示全部楼层
两种做法其实各有利弊。没有哪重一定就好
回复

使用道具 举报

发表于 2005-6-30 11:40 | 显示全部楼层
wool王  在 2005-6-29 14:50 发表:

sql是偶的薄弱环节...有机会跟楼上请教些数据库的知识...听joe说你数据库方面很强的说...


略懂皮毛而已。。
回复

使用道具 举报

发表于 2005-6-30 11:43 | 显示全部楼层
我记得select top 不可以用在MYSQL上哦。MYSQL是可以用计算数据总量,然后按每页显示数据在做选择。
楼主的select top 在数据量大的时候越往后的页使用的时间就越长。
回复

使用道具 举报

发表于 2005-6-30 18:30 | 显示全部楼层
楼上...偶也不太记得,,,其实...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

QQ|Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2024-5-4 04:01

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表