WEB开发技术 第五章
5.3 ADO组件之 Connection对象
From,吴教育
Email,wujiaoyu@21cn.com
Q Q,188128997
课程引入与回顾
? 数据库的各种访问技术
? 利用 connection对象来与数据库建立连接,
并进行简单的数据库操作
目标
? 利用 Recordset对象实现添加、删除或更新记录操作
? 利用 Recordset对象实现数据记录的分页显示
recordset对象作用
? 记录集是就象是一个二维的电子表格,每行是一
个记录,每个记录可分为多个列 (字段,也称为域 )
? 记录指针所指向的记录为当前记录,缺省情况下
对记录集所做的操作是对当前记录进行的
? 利用它就可对记录进行相应处理,包括显示、添
加、删除、更新记录等。
关于记录集
? 保存了满足
查找条件的
所有记录。
?记录集的两个特殊位置,bof与 eof
–(向前与向下移动、向后与向上移动 )
建立 Recordset对象
? 标准语法:
– Set Recordset对象实例
=server.createobject(―ADODB.Recordset‖) (Recordset对象实例
名假设为 rs)
– Rs.open
[Source],[ActiveConnection],[CursorType],[LockType],[Options]
参数 说明
Source Command对象名或 SQL语句或数据表名
ActiveConnection Connection对象名或数据库连接字符串
CursorType Recordset对象记录集中的指针类型 (游标类
型 )—详见下表
LockType Recordset对象的锁定类型 —详见下表
Options Source类型 —详见下表
CursorType:指针类型说明
游标类型 ADO 常量 描述
仅向前游标 adOpenForwardO
nly0
只允许向前移动 (缺省 )
键 盘 游标 adOpenKeySet
1
可看到其他用户所做的部分数据更
改, 不包括新增记录
动态 游标 adOpenDynamic
2
可看到其他用户所做的所有数据更
改
静态 游标 adOpenStatic
3
提供 记录集的静态副本。看不到其
他人的更改。
? Adovbs.inc文件中包含着与 ADO一起使用的常量定义清单,在
安装 ASP时就安装在服务器中了,一般会在 WINDOWS安装目录
下的 ServicePackFiles/i386目录下。
LockType,Recordset对象的锁定类型
上 锁类型 ADO 常量 描述
只读 adLockReadOnly
1
缺省的上锁类型。以这种方式打开记
录集,将不能改变数据。 (缺省 )
消极锁定 adLockPessimistic
2
正在编辑的记录将被锁定,以确保没
有多个用户同时编辑和更新该记录。
积极锁定 adlockOptimistic
3
只有在调用 Update 方法时才锁定记
录。
批 量更新 adLockBatchOptimist
ic
4
可使用 UpdateBatch 方法一次更新
多个记录 。
2进入锁定,rs(“gre”)= rs(“gre”)+10
rs(“toefl”)= rs(“toefl”)+50
rs.update 解除锁定
3 rs(“gre”)= rs(“gre”)+10
rs(“toefl”)= rs(“toefl”)+50
进入锁定,rs.update 解除锁定
锁定类型的进一步说明
? 常数 说明
? adLockReadOnly 缺省值,Recordset对象以只读方式启
动,无法运行 AddNew,Update及 Delete等方法
? adLockPrssimistic 当数据源正在更新时,系统会暂时锁
住其他用户的动作,以保持数据一致性。
? adLockOptimistic 当数据源正在更新时,系统并不会锁住
其他用户的动作,其他用户可以对数据进行增、删、改的
操作。
? adLockBatchOptimistic 当数据源正在更新时,其他用户
必须将 CursorLocation属性改为 adUdeClientBatch才能对
数据进行增,删、改的操作。
Options,Source类型
Options参数 值 说明
adcmdunknown -1 Source参数类型未知 (缺省 )
Adcmdtext 1 Source参数为命令类型
Adcmdtable 2 Source参数是一个表名
adcmdstoreproc 3 Source参数为一个存储过程
建立 recordset对象具体方法 (1)
? 利用 connection对象的 execute方法来建立
Dim db,rs
Set db=server.createobject(―adodb.connection‖)
Db.open ―dsn=addr‖
Set rs=db.execute(―select * from users‖)
?说明:
–这种方法是最常用的方法。
–它没有明确建立 Command对象,但是会建立一
个隐含的 Command对象。
建立 recordset对象具体方法 (2)
? 利用 connection对象来建立
Dim db,rs
Set db=server.createobject(“adodb.connection”)
Db.open,dsn=addr”
Set rs=server.createobject(“adodb.recordset”)
Rs.open,select * from users”,db
建立 Recordset对象的具体方法 (3)
? 利用 Command对象的 Execute方法建立的另一种
形式
– Dim db,cmd,rs
– Set db=Server.CreateObject("ADODB.Connection")
– db.Open "Dsn=addr―
– Set cmd= Server.CreateObject("ADODB.Command")
– cmd.ActiveConnection=db
– cmd.CommandText="Select * From users"
– Set rs=Server.CreateObject("ADODB.Recordset")
– rs.Open cmd
? 说明:
– 这种方法明确建立三个对象,功能最强大。
recordset对象常见属性
属性 说明
Source Command对象名或 SQL语句或数据表名
ActiveConnection Connection对象名或数据库连接字符串
CursorType 指针类型 (游标类型 )
LockType 锁类型
maxrecords 控制从服务器取得的记录集的最大记录数目
Pagesize 数据分页显示时每一页的记录数
Pagecount 数据分页显示时数据页的总数
absolutepage 当前指针所在的数据页
Absoluteposition 当前指针所在的记录行
BOF 标志着记录集的开始, 若当前记录位置在第一个记录前则值为 True
EOF 标志着记录集的结束, 若当前记录位置在最后一个记录后则值为 True
RecordCount 返回记录集的记录总数
关于记录指针及记录数的属性
? Recordcount(在指针类型为键盘指针或静态指针时可用 )
? Bof
? Eof
? 在记录集为空的情况下,bof与 eof同时为真
? 利用记录集的 movenext方法可将指针指向下一条记录
? 利用以下几条语句可达到对记录集进行遍历
Do while not rs.eof
…..( 对当前记录进行处理 )
Rs.movenext
loop
用来实现数据记录分页显示的属性
? Pagesize
? Pagecount
? Absolutepage
? Absoluteposition
说明:
? 当给 Absoluteposition赋值时,记录指针就会定位的相应
的记录位置上,使该记录成为当前记录。
? 当程序使用 Absolutepage时,系统将对数据记录进行分页,
默认每页为 10条记录,Absolutepage赋值为几,记录指
针就自动定位到第几页的第一条记录上。
? Absoluteposition=(Absolutepage-1)* Pagesize+页内位置
recordset对象常见方法
属性 /方法 说明
open 打开记录集
close 关闭记录集
MoveNext 移至当前目录的下一条记录
MovePrevious 移至当前目录的上一条记录
Move 将记录指针移到指定位置
MoveFirst 将记录指针移到第一条记录处
MoveLast 将记录指针移到最后一条记录处
Addnew 在记录集尾添加一条记录
Delete 删除当前记录
Update 更新数据库数据
Cancelupdate 取消数据更新
Getrows 从记录集取得多行数据
Resync 与数据库服务器同步更新
利用 Recordset对象查询记录
<%
Dim db,rs,strSql
Set db=Server.CreateObject("ADODB.Connection")
db.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("address.mdb")
Set rs=Server.CreateObject("ADODB.Recordset")
strSql ="Select * From users"
rs.Open strSql,db
Do While Not rs.Eof
Response.Write rs(“name”) & vbTab & rs(“age”) &,<br>”
rs.MoveNext
Loop
rs.Close
Set rs=nothing
db.Close
Set db=nothing
%>
使用表格来显示记录
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("Sample.mdb")
Set rs = conn.Execute( "成绩单 " )
%>
<HTML>
<body bgcolor="beige">
<center>
<table border="4" bordercolor="orange">
<TR bgcolor="orange" align="middle">
<%
For i=0 to rs.Fields.Count-1
Response.Write "<TD><font color=white><b>" & rs(i).Name & "</b></font></TD>"
Next
%>
</TR>
<%
rs.MoveFirst ' 将目前的数据记录移到第一项
While Not rs.EOF ' 判断是否过了最后一项
Row = "<TR align=middle>"
For i=0 to rs.Fields.Count-1
Row = Row & "<TD>" & rs(i) & "</TD>"
Next
Response.Write Row & "</TR>"
rs.MoveNext ' 移到下一项
Wend
%>
</TABLE></CENTER>
</BODY>
</HTML>
分页显示数据
? 为什么分页?
? 分页显示示意图
? 分页显示数据的思想,首先显示第 1页数据,并且
在下方提供页码链接,当客户选择页码时,仍然
传递到本文件,并显示新的一页
数据分页显示
<% Dim db,rs,strSql
Set db=Server.CreateObject("ADODB.Connection")
db.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("address.mdb")
Set rs=Server.CreateObject("ADODB.Recordset")
strSql ="Select * From users"
rs.Open strSql,db,1 '注意参数设置
If Not rs.Bof And Not rs.Eof Then
Dim page_no
If Request.QueryString("page_no")="" Then
page_no=1
Else
page_no=Cint(Request.QueryString ("page_no")) '用 Cint将字符串变为整数
End If
rs.PageSize=2 '设置每页 2条记录
rs.AbsolutePage=page_no '设置当前显示第几页
Dim I '该变量用来控制显示当前页记录
I=rs.PageSize
Do While Not rs.Eof And I>0 '循环直到当前页结束或记录集结尾
I=I-1
Response.Write rs("name") & "<br>" '输出姓名字段值
rs.MoveNext
Loop
Response.Write "请选择数据页, "
For I=1 To rs.PageCount
If I=page_no Then '如是当前页,就不加超链接
Response.Write I & " "
Else '如不是当前页,就加上超链接
Response.Write "<a href=?9-8.asp?page_no=" & I & "'>" & I & "</a> "
End If
Next
Else
Response.Write "该记录集为空 "
End If %>
利用 Recordset对象更新数据库
<%
Dim db,rs,strSql
'建立 Connection对象
Set db=Server.CreateObject("ADODB.Connection")
db.Open "Dsn=addr" '这里利用数据源连接
'建立 Recordset对象
Set rs=Server.CreateObject("ADODB.Recordset")
strSql ="Select * From users"
rs.Open strSql,db,0,2 '注意参数,锁定类型为可以修改
'添加记录
rs.AddNew
rs("name")= "李玫 "
rs("tel")="88888888"
rs("age")=23
rs.Update
'更新记录(修改李玫的电话号码)
rs("tel")="66666666"
rs.Update
'删除记录,删除李玫的记录
rs.Delete
rs.Update
'省略关闭对象语句
%>
Fields 集合的属性和方法
? 属性
– Count 返回记录集中字段个数
? 方法
– Item 返回一个字段对象,语法如下:
? Set Field对象 =Recordset对象,Fields.Item(字段名或
字段索引值 )
– 也可以简写为
? Set Field对象 =Recordset对象 (字段名或字段索引
值 )
Field对象的属性
属 性 说 明
Name 字段名称
Value 字段值, 这是最常用的
Type 字段数据类型
DefinedSize 字段长度
Precision 字段存放数字最大位数
NumericScale 字段存放数字最大值
ActualSize 字段数据值长度
Attributes 字段数据值属性
输出字段值的几种方法
? Response.Write rs("name")
? Response.Write rs.Fields("name")
? Response.Write rs.Fields("name").Value
? Response.Write rs.Fields.Item("name").Value
? Response.Write rs(1)
? Response.Write rs.Fields(1)
? Response.Write rs.Fields(1).Value
? Response.Write rs.Fields.Item(1).Value
示例 6,Field对象属性
<%
Dim db,rs,strSql
Set db=Server.CreateObject("ADODB.Connection")
db.Open "Dsn=addr"
Set rs=Server.CreateObject("ADODB.Recordset")
strSql ="Select * From users"
rs.Open strSql,db
Dim I,fld
For I=0 to rs.Fields.Count-1
Set fld=rs.Fields.Item(I) '建立当前字段的 Field对象 fld
Response.Write "字段名称," & fld.Name & "<br>"
Response.Write "字段值," & fld.Value & "<br>"
Response.Write "字段类型," & fld.Type & "<br>"
Response.Write "字段大小," & fld.Definedsize & "<br>"
Response.Write "字段最大位数," & fld.Precision & "<br>"
Next
%>
参考资料
? <<ASP动态网站编程 >> 石志国 清华大学出版社
? <<ASP精解案例教程 >> 石志国 清华大学出版社
? <<ASP网络编程技术与实例 >> 胡标 人民邮电出版社
? <<网络程序设计 -ASP>> 尚俊杰 清华大学出版社
总结
? 利用 Recordset对象可实现添加、删除或更新记录操作
? 利用 Recordset对象可实现数据记录的分页显示
习题与作业
1,利用 connection对象,通过指定驱动程序的方式与上次
课所建立的 sql server中的学生成绩 库建立连接,采用表
格、并分页的形式,每页显示十个学生成绩,实现逐页
浏览学生成绩。显示效果如下图所示:
5.3 ADO组件之 Connection对象
From,吴教育
Email,wujiaoyu@21cn.com
Q Q,188128997
课程引入与回顾
? 数据库的各种访问技术
? 利用 connection对象来与数据库建立连接,
并进行简单的数据库操作
目标
? 利用 Recordset对象实现添加、删除或更新记录操作
? 利用 Recordset对象实现数据记录的分页显示
recordset对象作用
? 记录集是就象是一个二维的电子表格,每行是一
个记录,每个记录可分为多个列 (字段,也称为域 )
? 记录指针所指向的记录为当前记录,缺省情况下
对记录集所做的操作是对当前记录进行的
? 利用它就可对记录进行相应处理,包括显示、添
加、删除、更新记录等。
关于记录集
? 保存了满足
查找条件的
所有记录。
?记录集的两个特殊位置,bof与 eof
–(向前与向下移动、向后与向上移动 )
建立 Recordset对象
? 标准语法:
– Set Recordset对象实例
=server.createobject(―ADODB.Recordset‖) (Recordset对象实例
名假设为 rs)
– Rs.open
[Source],[ActiveConnection],[CursorType],[LockType],[Options]
参数 说明
Source Command对象名或 SQL语句或数据表名
ActiveConnection Connection对象名或数据库连接字符串
CursorType Recordset对象记录集中的指针类型 (游标类
型 )—详见下表
LockType Recordset对象的锁定类型 —详见下表
Options Source类型 —详见下表
CursorType:指针类型说明
游标类型 ADO 常量 描述
仅向前游标 adOpenForwardO
nly0
只允许向前移动 (缺省 )
键 盘 游标 adOpenKeySet
1
可看到其他用户所做的部分数据更
改, 不包括新增记录
动态 游标 adOpenDynamic
2
可看到其他用户所做的所有数据更
改
静态 游标 adOpenStatic
3
提供 记录集的静态副本。看不到其
他人的更改。
? Adovbs.inc文件中包含着与 ADO一起使用的常量定义清单,在
安装 ASP时就安装在服务器中了,一般会在 WINDOWS安装目录
下的 ServicePackFiles/i386目录下。
LockType,Recordset对象的锁定类型
上 锁类型 ADO 常量 描述
只读 adLockReadOnly
1
缺省的上锁类型。以这种方式打开记
录集,将不能改变数据。 (缺省 )
消极锁定 adLockPessimistic
2
正在编辑的记录将被锁定,以确保没
有多个用户同时编辑和更新该记录。
积极锁定 adlockOptimistic
3
只有在调用 Update 方法时才锁定记
录。
批 量更新 adLockBatchOptimist
ic
4
可使用 UpdateBatch 方法一次更新
多个记录 。
2进入锁定,rs(“gre”)= rs(“gre”)+10
rs(“toefl”)= rs(“toefl”)+50
rs.update 解除锁定
3 rs(“gre”)= rs(“gre”)+10
rs(“toefl”)= rs(“toefl”)+50
进入锁定,rs.update 解除锁定
锁定类型的进一步说明
? 常数 说明
? adLockReadOnly 缺省值,Recordset对象以只读方式启
动,无法运行 AddNew,Update及 Delete等方法
? adLockPrssimistic 当数据源正在更新时,系统会暂时锁
住其他用户的动作,以保持数据一致性。
? adLockOptimistic 当数据源正在更新时,系统并不会锁住
其他用户的动作,其他用户可以对数据进行增、删、改的
操作。
? adLockBatchOptimistic 当数据源正在更新时,其他用户
必须将 CursorLocation属性改为 adUdeClientBatch才能对
数据进行增,删、改的操作。
Options,Source类型
Options参数 值 说明
adcmdunknown -1 Source参数类型未知 (缺省 )
Adcmdtext 1 Source参数为命令类型
Adcmdtable 2 Source参数是一个表名
adcmdstoreproc 3 Source参数为一个存储过程
建立 recordset对象具体方法 (1)
? 利用 connection对象的 execute方法来建立
Dim db,rs
Set db=server.createobject(―adodb.connection‖)
Db.open ―dsn=addr‖
Set rs=db.execute(―select * from users‖)
?说明:
–这种方法是最常用的方法。
–它没有明确建立 Command对象,但是会建立一
个隐含的 Command对象。
建立 recordset对象具体方法 (2)
? 利用 connection对象来建立
Dim db,rs
Set db=server.createobject(“adodb.connection”)
Db.open,dsn=addr”
Set rs=server.createobject(“adodb.recordset”)
Rs.open,select * from users”,db
建立 Recordset对象的具体方法 (3)
? 利用 Command对象的 Execute方法建立的另一种
形式
– Dim db,cmd,rs
– Set db=Server.CreateObject("ADODB.Connection")
– db.Open "Dsn=addr―
– Set cmd= Server.CreateObject("ADODB.Command")
– cmd.ActiveConnection=db
– cmd.CommandText="Select * From users"
– Set rs=Server.CreateObject("ADODB.Recordset")
– rs.Open cmd
? 说明:
– 这种方法明确建立三个对象,功能最强大。
recordset对象常见属性
属性 说明
Source Command对象名或 SQL语句或数据表名
ActiveConnection Connection对象名或数据库连接字符串
CursorType 指针类型 (游标类型 )
LockType 锁类型
maxrecords 控制从服务器取得的记录集的最大记录数目
Pagesize 数据分页显示时每一页的记录数
Pagecount 数据分页显示时数据页的总数
absolutepage 当前指针所在的数据页
Absoluteposition 当前指针所在的记录行
BOF 标志着记录集的开始, 若当前记录位置在第一个记录前则值为 True
EOF 标志着记录集的结束, 若当前记录位置在最后一个记录后则值为 True
RecordCount 返回记录集的记录总数
关于记录指针及记录数的属性
? Recordcount(在指针类型为键盘指针或静态指针时可用 )
? Bof
? Eof
? 在记录集为空的情况下,bof与 eof同时为真
? 利用记录集的 movenext方法可将指针指向下一条记录
? 利用以下几条语句可达到对记录集进行遍历
Do while not rs.eof
…..( 对当前记录进行处理 )
Rs.movenext
loop
用来实现数据记录分页显示的属性
? Pagesize
? Pagecount
? Absolutepage
? Absoluteposition
说明:
? 当给 Absoluteposition赋值时,记录指针就会定位的相应
的记录位置上,使该记录成为当前记录。
? 当程序使用 Absolutepage时,系统将对数据记录进行分页,
默认每页为 10条记录,Absolutepage赋值为几,记录指
针就自动定位到第几页的第一条记录上。
? Absoluteposition=(Absolutepage-1)* Pagesize+页内位置
recordset对象常见方法
属性 /方法 说明
open 打开记录集
close 关闭记录集
MoveNext 移至当前目录的下一条记录
MovePrevious 移至当前目录的上一条记录
Move 将记录指针移到指定位置
MoveFirst 将记录指针移到第一条记录处
MoveLast 将记录指针移到最后一条记录处
Addnew 在记录集尾添加一条记录
Delete 删除当前记录
Update 更新数据库数据
Cancelupdate 取消数据更新
Getrows 从记录集取得多行数据
Resync 与数据库服务器同步更新
利用 Recordset对象查询记录
<%
Dim db,rs,strSql
Set db=Server.CreateObject("ADODB.Connection")
db.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("address.mdb")
Set rs=Server.CreateObject("ADODB.Recordset")
strSql ="Select * From users"
rs.Open strSql,db
Do While Not rs.Eof
Response.Write rs(“name”) & vbTab & rs(“age”) &,<br>”
rs.MoveNext
Loop
rs.Close
Set rs=nothing
db.Close
Set db=nothing
%>
使用表格来显示记录
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("Sample.mdb")
Set rs = conn.Execute( "成绩单 " )
%>
<HTML>
<body bgcolor="beige">
<center>
<table border="4" bordercolor="orange">
<TR bgcolor="orange" align="middle">
<%
For i=0 to rs.Fields.Count-1
Response.Write "<TD><font color=white><b>" & rs(i).Name & "</b></font></TD>"
Next
%>
</TR>
<%
rs.MoveFirst ' 将目前的数据记录移到第一项
While Not rs.EOF ' 判断是否过了最后一项
Row = "<TR align=middle>"
For i=0 to rs.Fields.Count-1
Row = Row & "<TD>" & rs(i) & "</TD>"
Next
Response.Write Row & "</TR>"
rs.MoveNext ' 移到下一项
Wend
%>
</TABLE></CENTER>
</BODY>
</HTML>
分页显示数据
? 为什么分页?
? 分页显示示意图
? 分页显示数据的思想,首先显示第 1页数据,并且
在下方提供页码链接,当客户选择页码时,仍然
传递到本文件,并显示新的一页
数据分页显示
<% Dim db,rs,strSql
Set db=Server.CreateObject("ADODB.Connection")
db.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("address.mdb")
Set rs=Server.CreateObject("ADODB.Recordset")
strSql ="Select * From users"
rs.Open strSql,db,1 '注意参数设置
If Not rs.Bof And Not rs.Eof Then
Dim page_no
If Request.QueryString("page_no")="" Then
page_no=1
Else
page_no=Cint(Request.QueryString ("page_no")) '用 Cint将字符串变为整数
End If
rs.PageSize=2 '设置每页 2条记录
rs.AbsolutePage=page_no '设置当前显示第几页
Dim I '该变量用来控制显示当前页记录
I=rs.PageSize
Do While Not rs.Eof And I>0 '循环直到当前页结束或记录集结尾
I=I-1
Response.Write rs("name") & "<br>" '输出姓名字段值
rs.MoveNext
Loop
Response.Write "请选择数据页, "
For I=1 To rs.PageCount
If I=page_no Then '如是当前页,就不加超链接
Response.Write I & " "
Else '如不是当前页,就加上超链接
Response.Write "<a href=?9-8.asp?page_no=" & I & "'>" & I & "</a> "
End If
Next
Else
Response.Write "该记录集为空 "
End If %>
利用 Recordset对象更新数据库
<%
Dim db,rs,strSql
'建立 Connection对象
Set db=Server.CreateObject("ADODB.Connection")
db.Open "Dsn=addr" '这里利用数据源连接
'建立 Recordset对象
Set rs=Server.CreateObject("ADODB.Recordset")
strSql ="Select * From users"
rs.Open strSql,db,0,2 '注意参数,锁定类型为可以修改
'添加记录
rs.AddNew
rs("name")= "李玫 "
rs("tel")="88888888"
rs("age")=23
rs.Update
'更新记录(修改李玫的电话号码)
rs("tel")="66666666"
rs.Update
'删除记录,删除李玫的记录
rs.Delete
rs.Update
'省略关闭对象语句
%>
Fields 集合的属性和方法
? 属性
– Count 返回记录集中字段个数
? 方法
– Item 返回一个字段对象,语法如下:
? Set Field对象 =Recordset对象,Fields.Item(字段名或
字段索引值 )
– 也可以简写为
? Set Field对象 =Recordset对象 (字段名或字段索引
值 )
Field对象的属性
属 性 说 明
Name 字段名称
Value 字段值, 这是最常用的
Type 字段数据类型
DefinedSize 字段长度
Precision 字段存放数字最大位数
NumericScale 字段存放数字最大值
ActualSize 字段数据值长度
Attributes 字段数据值属性
输出字段值的几种方法
? Response.Write rs("name")
? Response.Write rs.Fields("name")
? Response.Write rs.Fields("name").Value
? Response.Write rs.Fields.Item("name").Value
? Response.Write rs(1)
? Response.Write rs.Fields(1)
? Response.Write rs.Fields(1).Value
? Response.Write rs.Fields.Item(1).Value
示例 6,Field对象属性
<%
Dim db,rs,strSql
Set db=Server.CreateObject("ADODB.Connection")
db.Open "Dsn=addr"
Set rs=Server.CreateObject("ADODB.Recordset")
strSql ="Select * From users"
rs.Open strSql,db
Dim I,fld
For I=0 to rs.Fields.Count-1
Set fld=rs.Fields.Item(I) '建立当前字段的 Field对象 fld
Response.Write "字段名称," & fld.Name & "<br>"
Response.Write "字段值," & fld.Value & "<br>"
Response.Write "字段类型," & fld.Type & "<br>"
Response.Write "字段大小," & fld.Definedsize & "<br>"
Response.Write "字段最大位数," & fld.Precision & "<br>"
Next
%>
参考资料
? <<ASP动态网站编程 >> 石志国 清华大学出版社
? <<ASP精解案例教程 >> 石志国 清华大学出版社
? <<ASP网络编程技术与实例 >> 胡标 人民邮电出版社
? <<网络程序设计 -ASP>> 尚俊杰 清华大学出版社
总结
? 利用 Recordset对象可实现添加、删除或更新记录操作
? 利用 Recordset对象可实现数据记录的分页显示
习题与作业
1,利用 connection对象,通过指定驱动程序的方式与上次
课所建立的 sql server中的学生成绩 库建立连接,采用表
格、并分页的形式,每页显示十个学生成绩,实现逐页
浏览学生成绩。显示效果如下图所示: