注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

你想快速掌握安卓编程吗

 
 
 

日志

 
 

[重要][转载]注解asp+access 分页显示代码  

2014-04-20 14:36:40|  分类: B.ASP与SQL |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
来源 《 asp+access 分页显示代码 》
(沉默蜂注解于2014-04-20)
 
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!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>
</head>
<body>

<%

'定义一个变量
Dim db

'变量赋值,创建一个连接数据库的对象,并把这个对象传给变量db
Set db = Server.CreateObject("Adodb.Connection")

'连接数据库
db.Open"Driver={Microsoft Access Driver (*.mdb)};Dbq="&Server.MapPath("db.mdb")

'定义变量
Dim rs,str
Dim pSize,pNum,pCount
Dim flag,k

'变量赋值,Server.CreateObject创建一个从数据库输出数据的记录集
Set rs = Server.CreateObject("ADODB.Recordset")

'这是一句SQL语句,查询数据库表 Products 里的字段 ProductName的全部记录
'SQL语句中,SQL自带的关键字大小写是无所谓的,比如select 你可以大写,也可以小写,都不影响运行
str = "select ProductName from Products"
 
' ----------------------------------------------------------------------------------------------------
' 用ASP结合connection属性创建一个SQL Server库数据库连接。 

' < %
' set conn=server.CreateObject ("adodb.connection")
' 创建一个Connection属性的对象conn
' 用conn.对象的open方法创建一个对SQL Server数据库的连接
' conn.Open "driver={SQL Server};server=localhost;UID=username;PWD=password;database=dataname"
' % >
'
' 代码中conn的open方法是打开一个连接用的,后边跟一个字符串。
' driver={SQL Server}的意思是,连接的是一个SQL Server的库,
' server=localhost中的localhost代表的是本机的IP,你的数据库服务器IP是多少,这里就改成相应的值,
' UID和PWD这两个是登录数据库服务器的用户名和密码,最后一个选项是你要操作的数据库的名字。
'
'数据库我们连接上了,下边该讲一下如何读取数据了。
' 首先让我们来创建一个recordset属性的对象set rs=server.CreateObject ("ADODB.Recordset"),
'然后用对象rs来打开一个记录集。
' rs.open “Select * from tablename where uid=’Coolshow’”,conn,1,1
'
' 这是用对象rs的open方法打开一个记录集,后边跟了三个参数用逗号分开。
' 第一个参数是选取数据用的T-SQL语句。
' 第二个是我们已经创建好连接的connection属性的对象conn。
' 最后边两个参数用法比较多
' 如果只读取数据,设置“1,1”就足够了,如果要添加数据,设置“1,2”,
' 如果要改写数据最好设置“2,3”,这两个参数一定要切记。
' ----------------------------------------------------------------------------------------------------
 
 
'打开这个记录集
rs.open str,db,1

'pSize(每页显示记录数)
pSize = 3

'如果用户发过来的数据库中,变量pNum并没有被赋值,就显示第一页,否则显示指定页面
If request.QueryString("pNum") = "" Then
     
        'pNum(当前页码)
        pNum = 1
 
Else

        'cint是对数值变量四舍五入取整(当小数部分为0.5时就取最接近它的偶数),
        '如果变量是字符型的会出错。如:
        'str="123" cint(123.456)=123
        'str="abc" cint(abc)出错。
        'cols在网页中表示一行中的列数
        '参考《 Request.QueryString 和Request.Form的区别

        '根据你的实际情况选择 是否使用 pNum = Cint(request.From("pNum"))
        pNum = Cint(request.QueryString("pNum"))
 
End If

'Session用来获取临时值,例如用户登录就用session("")获取临时值
Session("pNum") = pNum
 
 
'———————————————————————————————————
'Recordset记录集对象常用属性见表 
'
'属性 说明
'Source 指示记录集对象中数据的来源(命令对象名或SQL语句或表名)
'ActiveConnection 连接对象名或包含数据库的连接信息的字符串
'CursorType 记录集中的指针类型,可选,见表6-16
'LockType 锁定类型,可选,见表6-17
'MaxRecors 控制从服务器获取的记录集的最大记录数
'CursorLocation 控制数据处理是在客户端还是在服务器端
'Filter 控制要显示的内容
'Bof 记录集的开头
'Eof 记录集的结尾
'RecordCount 记录集总数
'PageSize 分页显示时每一页的记录数
'PageCount 分页显示时数据页的总页数
'AbsolutePage 当前指针所在的数据页
'AbsolutePosition 当前指针所在的记录行
'———————————————————————————————————
 
'rowcount  意思: 记录总数.
'pagesize  意思: 每页显示数.
'pagecount 意思: 页数
'rs.AbsolutePage是把游标移动到指定的页面。

rs.pagesize = pSize
pCount = rs.pagecount
rs.absolutepage = pNum
flag = pSize
 
 
 
' ----------------------------------------------------------------------------------------------------
' BOF和EOF介绍
 
' BOF 指示当前记录位置位于 Recordset 对象的第一个记录之前,该属性返回布尔型值。
' EOF 指示当前记录位置位于 Recordset 对象的最后一个记录之后,该属性返回布尔型值。
'
' 说明
' 使用 BOF 和 EOF 属性可确定 Recordset 对象是否包含记录,
' 或者从一个记录移动到另一个记录时是否超出 Recordset 对象的限制。
' 如果当前记录位于第一个记录之前,BOF 属性将返回 True (-1),
' 如果当前记录为第一个记录或位于其后则将返回 False (0)。
' 如果当前记录位于 Recordset 对象的最后一个记录之后 EOF 属性将返回 True,
' 而当前记录为 Recordset 对象的最后一个记录或位于其前,则将返回 False。
' 如果 BOF 或 EOF 属性为 True,则没有当前记录。
' 如果打开没有记录的 Recordset 对象,BOF 和 EOF 属性将设置为 True,
' 而 Recordset 对象的 RecordCount 属性设置为零。'
' 打开至少包含一条记录的 Recordset 对象时,第一条记录为当前记录,而 BOF 和 EOF 属性为 False。
' 如果删除 Recordset 对象中保留的最后记录,BOF 和 EOF 属性将保持 False,直到重新安排当前记录。
' ----------------------------------------------------------------------------------------------------
Do while not rs.eof and flag > 0
      flag = flag - 1
 
     '写出字段ProductName的记录值
      response.Write rs("ProductName")
      response.Write("<br>")
      rs.movenext
Loop
 
 
'———————————————————————————————————
'Field列对象的属性 
'
'属性  说明
'Name 字段名称
'Value 字段值
'Type 字段的数据类型
'DefinedSize 字段长度
'Precision 字段所存放数字的最大位数
'NumericScale 字段存放数字的最大值
'ActualSize 字段数据值长度
'Attributes 字段数据值属性
'
'
'Attributes属性值
'
'参数 值  说明
'AdFldMayDefer 2 允许不取回字段的所有数据
'AdFldUpdatable 4 不允许改动字段
'AdFldUnknownUpdatable 8 数据源不能确定是否可写
'AdFldFixed 16 固定字段长度,多余部分删除
'AdFldIsNullable 32 字段可以接受空值
'AdFldMayBeNull 64 字段可以读取空值
'AdFldLong 128 长二进制字段
'AdFldRowID 256 字段可以包含行记录ID
'AdFldRowVersion 512 字段包含可以跟踪时间与日期的标记
'———————————————————————————————————
 

 
For k = 1 to pCount

      If k = Session("pNum") then

            response.Write(k & " - ")

      Else
 
      response.Write("<a href='Page.asp?pNum=" & k & "'>" & k & "</a> - ")
 
      End If
Next

%>
</body>
</html>


注释:pSize(每页显示记录数) pNum(当前页码) pCount(页数)其他若有看不懂的可以再问,时间比较匆忙,只是实现了功能,不美观,请见谅。
 
补充:我的例子中是只读取了表中的一个字段,你要显示好几项只需修改SQL语句,然后用rs("字段名")显示就可以了啊
  评论这张
 
阅读(212)| 评论(1)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017