asp.net下经典数据库记录分页代码
1、
SELECT TOP PAGESIZE NEWSTITLE
FORM NEWSINFO WHERE NEWSID NOT IN
(SELECT TOP (PAGE-1)* PAGESIZE NEWSID FROM NEWSINFO
WHERE Auditing=1 and NEWSBREED='企业新闻' order by NEWSID DESC)
AND Auditing=1 and NEWSBREED='企业新闻' order by NEWSID DESC
其中:PAGE表示当前页数,PAGESIZE表示页的大小;这里利用了NOT IN,不复合SARG,但总比一次读取全部的记录要好的多。
2、符合 SARG的代码
针对本人的实例还有一个更好的方案:因为NEWSID字段是自增字段,对于NOT IN 语句进行如下的改造,并不影响结果。但速度提高了很多
SELECT TOP PAGESIZE NEWSTITLE
FORM NEWSINFO WHERE NEWSID <
(SELECT MIN(NEWSID) FROM (SELECT TOP (PAGE-1) * PAGESIZE NEWSID FROM NEWSINFO WHERE Auditing=1 and NEWSBREED='企业新闻' order by NEWSID DESC) AS TB)AND Auditing=1 and NEWSBREED='企业新闻' order by NEWSID DESC
【说明】
对于在多处使用分页功能的web 应用程序,把SQL语句改为存储过程将会更好。
请大家积极参与讨论分页的算法,并把好的方案与大家分享。
相关推荐
-
asp.net中使用repeater和PageDataSource搭配实现分页代码
复制代码 代码如下: PagedDataSource objPage = new PagedDataSource(); DataView dv = bllBook.GetListByState("", true); //设置数据源 objPage.DataSource =dv ; //允许分页 objPage.AllowPaging = true; //设置每页显示的项数 objPage.PageS
-
asp.net 结合mysql存储过程进行分页代码
不过在网上找了一些,发现都有一个特点--就是不能传出总记录数,干脆自己研究吧.终于,算是搞出来了,效率可能不是很好,但是我也觉得不错了.贴代码吧直接:也算是对自己学习mysql的一个记录. 复制代码 代码如下: CREATE PROCEDURE p_pageList ( m_pageNo int , m_perPageCnt int , m_column varchar(1000) , m_table varchar(1000) , m_condition varchar(1000), m_or
-
简单的ASP分页代码(测试正确)第1/2页
本文匆匆已经全面测试,支持ASP+ACCESS以及ASP+SQL,请修改相关部分就可以了. 注意,匆匆谢绝基础问题回答,已经本代码已经很简单,如果还不懂可以参阅本站其他栏目. <!--#include file="conn.asp"--> <% '以上为包含数据库衔接文件 '--------------------------------------------查询开始数据库 set rs=server.CreateObject("adodb.records
-
ASP.NET 高性能分页代码
最近给分页快搞死,记得之前曾经发过修改DW ASP分页的方法,后来又写过手工打造的ASP分页,现在进入.NET当然要配合存储过程打造纯手工高性能分页了. 为什么会叫做高性能,为什么要手工打造,不使用.NET现有的分页控件呢?这个还要追溯到我修改DW ASP分页的时候,那个我还不怎么懂程序这个东西,只会修修补补,就更不要去谈什么性能问题.当时改的很心烦,接着叫我的私人技术总监张总帮我看看,当时张总就以一种不屑一顾的眼神往着我,说了句话:值得吗? 接着到我手工打造ASP分页,又搞不下去了,张总丢给我
-
asp 简单分页代码
复制代码 代码如下: <% set rs=server.createobject("adodb.recordset") exce="sql" 'sql 查询语句 rs.open exce,conn,1,1 %> 然后是分页属性的设置 <% rs.PageSize=3 '设置页码 pagecount=rs.PageCount '获取总页码 page=int(request("page")) '接收页码 if page<=0
-
Asp.net 通用万级数据分页代码[修正下载地址]
1.主题,Asp.net环境下,通用的数据分页(包括Oracle,SqlServer,DB2...) 很久以前,就想做一个通用点的数据分页组件,但苦于一直没有充足的时间,所以迟迟没有实现(当然,主要是因为有一定的难度,要处理视图状态,回传事件,自绘等...),"十一"期间,陪女朋友去了躺"湘西",白天游山玩水,晚上无事,吃吃当地的夜宵,无聊之际,google了一把Oracle的数据分页,竟然没有一个完整的关于Asp.net + Oracle数据分页的例子,要不就是有
-
asp万用分页程序代码
这只是个asp小技巧类的东西,它虽然适合在每个不同文件名里调用这个函数,但是也是有前提的,下面让我们来仔细看看其中的原委. 下面这段是基本的分页代码: <% sql = "select--------省略了sql语句 Set rs=Server.Createobject("ADODB.RECORDSET") rs.Open sql, conn, 1, 1 if not rs.eof then pages = 30 '定义每页显示的记录数 rs.pageSize = pa
-
asp 存储过程分页代码第1/2页
存储过程采用的是select top 加 not in的方式完成,速度也算是相当快了 我测试过了百万级数据量一般查询在1秒一下,贴出来大家交流下,看有没有什么好的建议. 简单几句话就可以实现分页功能,请看代码: 最简单使用方法(适用于任何数据表): test.asp 复制代码 代码如下: <!--#include file="conn.asp"--> <!--#include file="Page.asp"--> <% Set My =
-
asp.net下经典数据库记录分页代码
1. SELECT TOP PAGESIZE NEWSTITLE FORM NEWSINFO WHERE NEWSID NOT IN (SELECT TOP (PAGE-1)* PAGESIZE NEWSID FROM NEWSINFO WHERE Auditing=1 and NEWSBREED='企业新闻' order by NEWSID DESC) AND Auditing=1 and NEWSBREED='企业新闻' order by NEWSID DESC 其中:PAGE表
-
asp中通过getrows实现数据库记录分页的一段代码
<%@ Language = VBSCRIPT %> <% Option Explicit %> <% rem 在asp中通过getrows实现数据库记录分页的一段代码 Dim iStart, iOffset iStart = Request("Start") iOffset = Request("Offset") if Not IsNumeric(iStart) or Len(iStart) = 0 then iStart = 0 e
-
在asp中通过getrows实现数据库记录分页的一段代码
复制代码 代码如下: <%@ Language = VBSCRIPT %> <% Option Explicit %> <% rem 在asp中通过getrows实现数据库记录分页的一段代码 Dim iStart, iOffset iStart = Request("Start") iOffset = Request("Offset") if Not IsNumeric(iStart) or Len(iStart
-
ASP.NET操作MySql数据库的实例代码讲解
一.把MySql.Data.dll放到BIN目录下. 二.这是aspx.cs的全部源码,修改参数直接运行即可! using MySql.Data.MySqlClient; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; publ
-
asp 删除数据库记录的代码
删除单条记录 复制代码 代码如下: id = saferequest("id") sql="delete from table1 where whereid>"&id&"" rs.open sql,conn,1,3 response.write "<script>alert('删除成功');location.href='del.asp';</script>" set rs=noth
-
asp.net下Repeater使用 AspNetPager分页控件
一.AspNetPager分页控件 分页是Web应用程序中最常用到的功能之一,在ASP.NET中,虽然自带了一个可以分页的DataGrid(asp.net 1.1)和GridView(asp.net 2.0)控件,但其分页功能并不尽如人意,如可定制性差.无法通过Url实现分页功能等,而且有时候我们需要对DataList和Repeater甚至自定义数据绑定控件进行分页,手工编写分页代码不但技术难度大.任务繁琐而且代码重用率极低,因此分页已成为许多ASP.NET程序员最头疼的问题之一. AspNet
-
Ubuntu Server下MySql数据库备份脚本代码
说明: 我这里要把MySql数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2012_04_11.tar.gz的压缩文件格式(2012_04_11是指备份执行时当天的日期), 最后只保留最近7天的备份. 实现步骤: 1.创建保存备份文件的目录:/home/mysql_datacd /home #进入目录mkdir mysql_data #创建目录2.创建备份脚本文件:/home/mysql_data/
-
ASP.Net 图片存入数据库的实现代码
在这篇文章中,我们将讨论怎样把图片存入到Sql2000当中. 在这篇文章中我们可以学到以下几个方面的知识: 1. 插入图片的必要条件 2. 使用流对象 3. 查找准备上传的图片的大小和类型 4.怎么使用InputStream方法? 插入图片的必要条件 在我们开始上传之前,有两件重要的事我们需要做: #Form 标记的 enctype 属性应该设置成 enctype="multipart/form-data" # 需要一个<input type=file>表单来使用户选择他们
随机推荐
- Python基于list的append和pop方法实现堆栈与队列功能示例
- 一句简单命令重启nginx
- node+koa实现数据mock接口的方法
- 基于webpack 实用配置方法总结
- js点击按钮实现水波纹效果代码(CSS3和Canves)
- Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录
- Android UI系列-----Dialog对话框示例
- mysql实现根据多个字段查找和置顶功能
- MySQL查询优化:LIMIT 1避免全表扫描提高查询效率
- 注册页面之前先验证用户名是否存在的php代码
- linux下ssh安装与scp命令使用详解
- C语言 扫雷程序的实现
- 使用javascript实现页面定时跳转总结篇
- Linux中的冷热页机制简述
- 杰奇一些安装详细说明文件,比官方更细
- Android Menu半透明效果的开发实例
- Android Studio使用教程(二):基本设置与运行
- Android编程实现GridView控件点击图片变暗效果的方法
- DSP中浮点转定点运算--浮点与定点概述
- android教程之使用popupwindow创建菜单示例