实验十五ADO技术查询数据库操作.docx
《实验十五ADO技术查询数据库操作.docx》由会员分享,可在线阅读,更多相关《实验十五ADO技术查询数据库操作.docx(11页珍藏版)》请在冰点文库上搜索。
实验十五ADO技术查询数据库操作
实验十五ADO技术对数据库的存取操作
一、实验目的及要求
1.了解和掌握ADO技术的基本概念和使用方法。
2.掌握常用网络数据库的基本操作方法。
3.以Access或SQLServer数据库为例,熟练掌握ADO技术对数据库的存取操作。
二、实验内容
1.建立实验所需要的数据库(例如:
wwwlink.mdb)。
2.使用Connection对象连接Access或SQLSERVER数据库。
3.使用RecordSet对象实现数据库的存取操作。
4.设计一个具有查询、更新、删除和插入功能的简单通讯录管理系统。
三、实验指导
数据库存取组件ADO组件可访问和操作数据库中的数据,属于ASP内置组件。
ADO组件主要包括三个对象:
Connection、Command和Recordset。
(一)Connection对象
Connection对象主要是建立与数据库的连接
1.Connection对象的方法
方法
说明
Open
建立与数据库的连接
Close
关闭与数据库的连接
Excuse
执行SQL命令
BeginTrans
开始事务处理
CommitTrans
提交事务处理结果
RollbackTrans
取消事务处理结果
2.Connection对象的属性
属性
说明
Attributes
设置Connection对象控制事务处理时的行为
CommandTimeout
Execute方法的最长执行最长时间
ConnectionString
指定Connection对象的数据库链接信息
ConnectionTimeout
Open方法与数据库链接的执行最长时间
CursorLocation
控制光标的类型
DefaultDatabase
指定Connection对象的缺省数据库名称
IsolationLevel
指定Connection对象事务处理的时机
Mode
设置连接数据库的权限
Provider
设置Connection对象内定的数据库管理程序名称
Version
显示ADO对象的版本信息
(二)ADO的Recordset对象
Recordset对象又称记录集对象
1.Recorsdet对象的常用属性
属性说明
Source:
Command对象名或SQL语句或数据表名
ActiveConnection:
Connection对象名或包含数据库连接信息的字符串
CursorType:
Recordset对象记录集中的指针类型
LockType:
Recordset对象的使用类型
MaxRecords:
控制从服务器取得的记录集的最大记录数目
CursorLocation:
控制数据处理的位置,客户端还是服务器端
Filter:
控制欲显示的内容
RecordCount:
记录集的总数
Bof:
记录集的开头
Eof:
记录集的结尾
PageSize:
数据分页显示时每一页的记录数
PageCount:
数据分页显示时数据页的总数
AbsolutePage:
当前指针所在的数据页
AbsolutePosition:
当前指针所在的记录行
2.Recorsdet对象的方法
属性说明
Open:
打开记录集
Close:
关闭当前的Recordset对象
Requery:
重新打开记录集
MoveFirst:
移动到第一条记录
MoveProvious:
移动到上一条记录(向后移动
MoveNext:
移动到下一条记录(向前移动
MoveLast:
移动到最后一条记录
Move:
移动到指定记录
AddNew:
添加新的记录
Delete:
删除当前记录
Update:
更新数据库数据
CancelUpdate:
取消数据更新
GetRows:
从记录集中取得多行数据
(二)实例分析:
动态网络导航程序分析
该程序通过表格的形式完成对网址的增加、删除和修改,其主界面形式如下:
1.数据库设计
建立一个数据库wwwlink.mdb,表为link,结构如下:
Link表已有的记录如下:
主程序:
Index.asp
添加:
Add_form.asp
删除:
Delete_form.asp
修改:
Update_form.asp
2.总体设计(略)
3.程序设计--使用Connection和Recordset对象
(1)主程序:
Index.asp
利用Select语句查询数据库表Link。
把Link表中的记录显示在屏幕上。
其程序代码如下:
<%OptionExplicit%>
利用Select语句查询记录示例网络导航
<%
'以下连接数据库,建立一个Connection对象实例db
Dimdb
Setdb=Server.CreateObject("ADODB.Connection")
db.Open"Dbq="&Server.Mappath("wwwlink.mdb")&";Driver={MicrosoftAccessDriver(*.mdb)}"
'以下建立Recordset对象实例rs
DimstrSql,rs
strSql="Select*FromlinkOrderBylink_idDesc"
Setrs=db.Execute(strSql)
'以下显示数据库记录
%>
添加记录
名称 | 网址 | 简介 | 删除 | 修改 | <%
DoWhileNotrs.Eof
%>
<%=rs("name")%> | //<%=rs("URL")%>"target="_blank"><%=rs("URL")%> | <%=rs("intro")%> | link_id=<%=rs("link_id")%>">删除 | link_id=<%=rs("link_id")%>">修改 |
<%
rs.MoveNext
Loop
%>
(2)添加:
Add_form.asp
利用Form表单形成输入界面;利用Insert语句往数据库表中添加记录。
实现代码如下:
<%OptionExplicit%>
<%
'如果上面的信息填全了,就添加记录,否则给出错误信息
IfRequest.Form("t_name")<>""AndRequest.Form("t_URL")<>""AndRequest.Form("t_intro")<>""Then
'以下连上数据库,建立一个Connection对象实例db
Dimdb,strconn
Setdb=Server.CreateObject("ADODB.Connection")
strConn="Dbq="&Server.Mappath("wwwlink.mdb")&";Driver={MicrosoftAccessDriver(*.mdb)}"
db.Openstrconn
'以下添加新记录
DimstrSql,varName,varURL,varIntro'声明几个变量
varName=Request.Form("t_name")
varURL=Request.Form("t_URL")
varIntro=Request.Form("t_intro")
StrSql="InsertIntolink(name,URL,intro,submit_date)Values('"&varName&"','"&varURL&"','"&varIntro&"',#"&Date()&"#)"
db.Execute(strSql)
Response.Redirect"index.asp"'添加成功,则返回首页
Else
Response.Write"请将所有信息填写完整,"
Response.Write"重新添加"
EndIf
%>
(3)删除:
Delete_form.asp
利用Delete语句删除选择的网站信息记录。
具体代码如下:
<%OptionExplicit%>
<%
Response.Buffer=True
'以下连上数据库,建立一个Connection对象实例db
Dimdb
Setdb=Server.CreateObject("ADODB.Connection")
db.Open"Dbq="&Server.Mappath("wwwlink.mdb")&";Driver={MicrosoftAccessDriver(*.mdb)}"
'以下删除记录,注意这里是由index.asp传过来的要删除的记录的网站编号
DimvarLink_id,strSql
varLink_id=Request.QueryString("link_id")'获取要删除的记录网站编号
strSql="DeleteFromlinkWherelink_id="&varLink_id
db.Execute(strSql)
Response.Redirect"index.asp"'删除完毕,重定向回首页
%>
(4)修改:
Update_form.asp
从数据库表Link中取出要修改的网站信息记录,并形成Form修改表单。
利用Update语句修改数据库表中的记录。
代码如下:
<%OptionExplicit%>
修改记录表单示例修改网站
<%
DimvarLink_id
varLink_id=Request.QueryString("link_id")'获取要修改的记录的网站编号
Session("link_id")=varLink_id'保存到Session中,以备upload.asp使用
'以下连接数据库,建立一个Connection对象实例db
Dimdb
Setdb=Server.CreateObject("ADODB.Connection")
db.Open"Dbq="&Server.Mappath("wwwlink.mdb")&";Driver={MicrosoftAccessDriver(*.mdb)};"
'以下打开记录集
DimstrSql,rs
strSql="Select*FromlinkWherelink_id="&varLink_id
Setrs=db.Execute(strSql)
%>
网站名称 | "> |
网站地址 | "> |
网站简介 | <%=rs("intro")%> |
| |
四、实验思考题
1.要求使用Connection和Recordset对象模仿一般网站的注册系统开发一个程序,要求用户能注册,输入用户名、密码等个人信息,下一次访问时可以用该用户名和密码登录,登录后就可以察看有关网页内容。
如果没有登录直接访问其他页面,则重定向回注册页面。