Adodb.recordset分页是指利用Adodb.recordset实现数据库的分页。本节将对此分页方法的实现进行详细阐述。
RecordSet是ADO的内置对象之一,主要功能是对数据库进行操作。通过RecordSet,可以实现对数据库记录的各种操作。在学习RecordSet分页时,应首先了解AbsolutePage属性和PageSize属性。
1.、PageSize属性
PageSize属性的功能是决定多少条记录组成一个“页”,即每页的最多纪录数。PageSize能够设定并建立一个页的大小,从而允许使用AbsolutePage属性移到其他逻辑页的第一条纪录。PageSize属性可以随时设定。
2、AbsolutePage属性
AbsolutePage属性的功能是设定当前纪录的位置于哪一个页的页数编号,即通常说的当前页数AbsolutePage属性是以1开头的。若当前纪录为RecordSet的第一行纪录,则AbsolutePage为1。
另外,RecordSet的其他属性和常用方法如下。
● RecordSetCount属性:返回纪录集中的记录数。
● LockType:设定记录集锁定方式。
● CursorType:记录集游标类型。
● BOF、EOF:返回记录集游标位置。
● MoveNext、Movepre:将记录集游标向后、向前移动一个位置。
● MoveFirst、MoveNext:将记录集游标移动到最前或最后。
在现实中,RecordSet主要应用于站点数据方面的操作。下面将通过一个具体实例讲解利用Adodb.recordset实现分页过程,本实例主要包括两个文件,分别是分页文件adodb.asp和数据库接收文件conn.asp。
数据库结构:
该实例使用Access数据库,名称为“asp.mdb”
表news的设计结构
字段名 类型 是否主键 说明
id 自动编号 是 新闻编号
title 备注 否 标题
comment 备注 否 内容
news_time 文本 否 添加时间
数据库连接文件conn.asp的功能是建立和数据库的连接。文件代码如下所示:
<%
Dim ConnectionString
ConnectionString = "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("asp.mdb")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open ConnectionString
%>
分页文件adodb.asp的功能是将数据库内的新闻标题按分页的形式显示出来。文件代码如下所示:
<%@LANGUAGE="VBSCRIPT
" CODEPAGE="936"%>
<!--#include file=conn.asp-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
">
<html xmlns="http://www.w3.org/1999/xhtml
">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
<!--
body {
background-color: #99CCFF;
}
-->
</style></head>
<body>
<%
sql="select * from news"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,1
if not isempty(request("page")) then
pagecount=cint(request("page"))
else
pagecount=1
end if
n=1
rs.pagesize=8
rs.AbsolutePage=pagecount
filename="adodb.asp"
%>
<table width="311" border="0" align="center">
<%
do while not rs.eof
%>
<tr>
<td width="305"><%=rs("title")%></td>
</tr>
<%
rs.movenext
n=n+1
if n>rs.pagesize then exit do
loop
%>
</table>
<table width="535" border="0" cellspacing="0" cellpadding="0" align="center">
<form action="<%=filename%>" method="post">
<tr bgcolor="#B0CCDC">
<td height="35" bgcolor="#FFFFFF">
<div align="center"> <font size="2" FONT-SIZE: 12pt;
COLOR: black;">黑体" class="a">共
<b><%=rs.recordcount%></b> 条记录, 页次:
<b><font
color=red><%=pagecount%></font>/<%=rs.pagecount%></b>,
<% if pagecount=1 and
rs.pagecount<>pagecount and rs.pagecount<>0
then%>
<a
href="<%=filename%>?page=<%=cstr(pagecount+1)%>"
class="a">[下一页]</a>
<% end if %>
<% if rs.pagecount>1 and rs.pagecount=pagecount then %>
<a href="<%=filename%>?page=<%=cstr(pagecount-1)%>" class="a">
[上一页]</a>
<%end if%>
<% if pagecount<>1 and rs.pagecount<>pagecount then%>
<a href="<%=filename%>?page=<%=cstr(pagecount-1)%>" class="a">
[上一页]</a> <a
href="<%=filename%>?page=<%=cstr(pagecount+1)%>"
class="a">
[下一页]</a>
<% end if%>
直接到第
<select name="page">
<%for i=1 to rs.pagecount%>
<option value="<%=i%>"><%=i%></option>
<%next%>
</select>
页
<input type="submit" name="go" value="Go">
</font></div>
</td>
</tr>
</form>
</table>
</body>
</html>
分享到:
相关推荐
`ADODB.Recordset`对象`rs`包含了查询结果。你可以遍历`Recordset`,获取每一行数据: ```vb Do Until rs.EOF Debug.Print rs("FieldName") rs.MoveNext Loop ``` 记得关闭Recordset和Connection以释放资源...
`ADODB.Recordset`是用于连接数据库并处理数据记录的ActiveX Data Objects (ADO) 组件。 #### 三、打开`Recordset`对象 为了能够使用`Recordset`对象进行数据操作,需要先打开它。打开`Recordset`的基本语法如下:...
本篇文章介绍了一种通过创建额外记录集(Recordset)的方式来实现DataGrid的分页操作的方法。 #### 二、核心概念与组件 1. **ADO (ActiveX Data Objects)**:用于连接和操作数据库的对象库。 2. **DataGrid**:一种...
3. **执行查询**:使用`ADODB.Recordset`对象执行SQL语句,获取结果集。 ```vbscript Dim rs Set rs = Server.CreateObject("ADODB.Recordset") rs.Open sql, conn ``` 4. **显示数据**:遍历`Recordset`,将...
5. 创建ADODB.Recordset对象(rs),执行SQL查询,获取“原材料基础信息表”的所有列。 6. 将DataGrid1的数据源设置为rs,这样DataGrid就会显示Recordset中的数据。 7. 调用DataGrid1.Refresh方法刷新数据,确保最新...
Set rs = Server.CreateObject("ADODB.Recordset") rs.Open "SELECT * FROM feedback WHERE feedbackid IS NULL", conn, 1, 3 rs.AddNew rs("typeid") = typeid rs("feedbackC") = feedbackC rs.Update %> `...
VB提供了多种方式来连接和操作数据库,其中最常用的是通过ADO(ActiveX Data Objects)组件,包括ADODB.Connection和ADODB.Recordset对象。ADODB.Connection用于建立和管理与数据库的连接,而ADODB.Recordset则用于...
4. 处理结果集:如果查询返回结果,可以使用ADODB.Recordset对象来遍历和操作这些数据。 5. 关闭连接:完成操作后,记得关闭Command和Connection对象以释放资源。 在这个教程中,"096.分页连接和打开数据库"部分很...
接下来,我们可以创建一个ADODB.Recordset对象,用以执行SQL查询并获取数据。例如: ```vb Dim rs As New ADODB.Recordset Dim strSQL As String strSQL = "SELECT * FROM YourTable" rs.Open strSQL, conn, ...
Private m_Recordset As ADODB.Recordset Public Sub New(conn As ADODB.Connection) Set m_Connection = conn End Sub Public Sub PrintTable(tableName As String) Dim sql As String sql = "SELECT * ...
1.建立Recordset对象 代码如下: Dim objMyRst Set objMyRst=Server.CreateObject(“ADODB.Recordset”) objMyRst.CursorLocation=adUseClientBatch ‘客户端可批量处理 objMyRst.CursorType=adOpenStatic’光标类型...
- `Dim rs As New ADODB.Recordset`:创建一个新的ADODB.Recordset对象实例,用于存储查询结果或更新数据。 ```vb Dim strS$ ' 连接ACCESS数据库 cnn.Provider = "Microsoft.Jet.OLEDB.4.0" cnn.ConnectionString =...
ADODB v5.01 Beta 是ADODB的一个早期版本,提供了对数据库操作的基本组件,包括连接(Connection)、记录集(Recordset)、命令(Command)等对象,使得开发者能够方便地进行数据读取、写入和管理。 在这个压缩包...
3. **执行查询**:使用`ADODB.Recordset`对象执行SQL语句,获取当前页的数据。 ```vbscript Dim rs Set rs = Server.CreateObject("ADODB.Recordset") rs.Open SQL, conn ``` 4. **遍历记录并显示**:在HTML...
总结,ASP实现分页功能涉及数据库连接、SQL查询、Recordset对象的使用以及用户请求处理。通过合理地编写代码,可以创建高效且用户友好的分页系统,优化大量数据的浏览体验。在实际开发中,还可以结合CSS和JavaScript...
在ASP中,这通常通过创建`Adodb.Connection`对象和`Adodb.Recordset`对象来完成。以下是一段示例代码: ```asp Set conn = Server.CreateObject("Adodb.Connection") connstr = "provider=Microsoft.JET.OLEDB.4.0;...
接着,通过`<script language="vbscript" runat="server">`开始脚本区,在这里引入ADODB.Connection和ADODB.Recordset对象。 2. **建立数据库连接** 使用ADODB.Connection对象来创建数据库连接。需要设置连接字符...
2. **执行SQL查询**:使用`ADODB.Command`或`ADODB.Recordset`对象执行SELECT、INSERT、UPDATE、DELETE等SQL语句。 ```vbscript Dim rs Set rs = Server.CreateObject("ADODB.Recordset") rs.Open "SELECT * FROM ...
例如,使用`ADODB.Connection`对象建立数据库连接,`ADODB.Recordset`对象执行查询并处理结果。以下是一个简单的示例代码片段: ```vbscript Dim conn, rs, SQL, pageSize, currentPage, totalRecords ' 初始化...