第七章用ADO访问Web数据库

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第七章用ADO访问Web数据库ADO(ActiveXDataObject,ActiveX数据对象)是ASP的一个ActiveX服务器组件(ActiveXServerComponent),用于Web数据库的访问,可以把ADO与ASP结合起来,创建基于Web的数据库应用程序,对服务器端的数据库进行查询、插入、更新、删除等操作。1.ADO基础(1)常见的ADO对象对象说明Connection建立数据源的连接Recordset用于操作数据表Command执行数据查询Fields和Field集合处理记录集中的各个列。(2)Web数据库访问方法2.Connection对象功能:建立数据源连接。常用属性ConnectionString:数据库连接字符串,描述数据库的连接方式常用方法Open:打开数据库连接Execute:执行指定的查询Close:关闭数据库连接Connection对象的使用创建Connection对象实例,例如:%SetCnn=Server.CreateObject(ADODB.Connect)%设置连接字符串ConnectionString,例如:%Cnn.ConnectionString=“Driver={MicrosoftAccessDriver(*.mdb)};DBQ=d:\test\Users.mdb”%或%strConn=“Driver={MicrosoftAccessDriver(*.mdb)};DBQ=d:\test\Users.mdb”%用Open方法打开数据连接,例如:%Cnn.Open%或%Cnn.OpenstrConn%用Close方法关闭数据库连接,例如:%Cnn.closeSetCnn=Nothing%Open方法功能:打开数据库连接语法:Connection实例.OpenConnectionStringConnection对象实例:是指用Server对象的CreateObject方法创建的连接对象实例名。ConnectionString:是连接字符串,指明了连接的数据库的类型以及名称等。Execute方法功能运行SQL语句,实现数据查询,并将查询结果存储在RecordSet对象中。语法格式不返回结果的命令Connection.ExecuteCommandText,RecordsAffected,Option返回结果的命令SetRecordSet=Connection.Execute(CommandText,RecordsAffected,Option)例如:Setrs=conn.Execute(select*fromsheet)说明:用该方法形成的数据集指针只能向下移动,记录只能供读取,不能插入、修改数据。Close方法功能:关闭已打开的Connection对象,将应用程序与数据库连接断开。例如:objConn.close//关闭数据库连接SetobjConn=Nothing//释放Connection对象实例所占的资源3.Recordset对象1)Recordset对象的常用属性属性名说明RecordCount返回Recordset对象中有多少条记录。如果该属性无法判断记录总数,则返回-1。需要说明的是,如果Recordset对象所表示的记录集以adOpenForwardOnly方式打开,则RecordCount属性不起作用。PageSize当Recordset对象设置了分页时,使用PageSize属性设置每页的记录数。PageSize属性的缺省值为10,即每页有10条记录。PageCount指明当前Recordset对象所包含的页数。每一页包括一组记录,其记录的数量由PageSize属性设置。AbsolutePage返回当前记录所在页的绝对页号,也可以指定当前记录应该放置在哪页。AbsolutePosition返回当前记录指针的绝对位置。在正常情况下,其值在1到RecordCount(记录的个数)之间。在Recordset对象所表示的记录集内,第一条记录对应的AbsolutePosition值为1,最后一条记录的AbsolutePosition值为RecordCount。使用AbsolutePosition属性,可以将当前记录移动到指定的设置。例如:%RS.AbsolutePosition=10%,这条命令将记录指针移动到第10条记录。BOF若指针位于第一条记录之前,返回True,否则返回FalseEOF若指针位于最后一条记录之后,返回True,否则返回FalseCursorLocation属性:设置记录的存放位置,取值如下表:常数值说明adUseServer2记录被下载到浏览器端adUseClient3记录存放在服务器端CursorType属性设置指针在Recordset对象中的移动方向,取值如下表:常数值说明adOpenForwardOnly0默认值,指针只能下移。若对记录进行了新增、删除或更新,之前读取出的Recordset对象无法看到这些变化,仍保持着读取时的状态adOpenKeyset1指针可上下移动。若对记录进行了新增、删除或更新,之前读取出的Recordset对象可看到更新的记录,但看不到新增或已删除的记录adOpenDynsmic2指针可上下移动。若对记录进行了新增、删除或更新,之前读取出的Recordset对象可看到所有的改变adOpenStatic3当CursorLocation=3时,取该值。此时,指针可上下移动,但看不到记录的任何修改LockType属性设置能否将记录写入表中,取值如下表:常数值说明adLockReadOnly1默认值,记录为只读属性,不允许任何修改adLockPessimistic2当开始编辑某记录时,锁定该记录;待编辑完成并调用Update方法进行更新后,再解除锁定adLockOptimistic3只有在调用Update方法进行更新的时候才锁定记录,若在编辑某记录后没有调用Update,而移动了记录指针,ADO会自动调用Update,若要取消更新,可以使用CancelUpdate方法。adLockBatchOptimistic4允许以批处理方式更改记录2)Recordset对象的常用方法方法名说明AddNew对一个可更新的Recordset对象新增记录行。Delete删除一个打开的Recordset对象的当前记录。Update存储Recordset对象当前记录的任何变动。CancelUpdate当数据修改之后,但还没有调用Update之前,取消数据更新open打开并获取Recordset对象Close关闭一个已打开的Recordset对象MovwFirst将指针移到第一条记录MoveLast将指针移到最末一条记录MoveNext将指针下移一条记录MovePrevious将指针上移一条记录MoveNum将指针下移Num条记录4.FIELDS对象RS.FIELDS.count//获取字段数RS.FIELDS(i).name//获取字段名RS.FIELDS(i).value//获取字段值5.Command对象功能:向数据源发出执行查询、更新数据的命令。常用属性ActiveConnectionCommandTextCommandType常用方法Execute:执行指定的查询Command对象的使用创建Command对象实例,例如:%Setcmd=Server.CreateObject(ADODB.Command)%设置Connection动态连接,例如:%Setcmd.ActiveConnection=Cnn%设置Command命令和类型,例如%strSQL=“select*fromUsers”cmd.CommandText=strSQLcmd.CommandType=adCmdText%执行Command命令%cmd.Execute%6.设计Web数据库应用程序步骤1)创建数据库可以在任意一种支持ODBC(OLEDB)的数据库管理系统中创建用户数据库。字段字段名称字段类型字段宽度留言者姓名UserName文本8Email地址Email文本20留言主题Subject文本50留言内容Memo备注固定长度留言时间Time日期82)建立连接对象、打开数据库Setconn=Server.CreateObject(ADODB.Connection)conn.Opendriver={MicrosoftAccessDriver(*.mdb)};dbq=&Server.MapPath(book.mdb)或SetConn=Server.CreateObject(ADODB.Connection)Conn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;&DataSource=&Server.MapPath(Friend.mdb)Conn.Open3)打开指定的数据表用Connection的Execute打开数据表,并将数据存放储到RecordSet对象实例rs中:Setrs=conn.Execute(sheet)或用Recordset的Open方法打开数据表:Setrs=Server.CreateObject(ADODB.Recordset)rs.Opensheet,Conn,adOpenKeyset,adLockOptimistic,adCmdTable4)操作数据表用RecordSet对象的方法(或SQL)对rs中的数据进行查询、删除、修改、插入等操作。5)断开连接对象、关闭数据库、释放资源rs.Closeconn.CloseSetrs=NothingSetconn=Nothing7.用Recordset对象操作数据库对Recordset对象的查询与浏览对数据库进行查询与浏览的一般过程是:为用户提供一个输入查询条件的界面,用户输入查询条件并提交给服务器端特定的.asp程序;编写ASP程序对表单数据进行处理服务器端asp程序建立连接、打开数据库、执行查询语句,将满足条件的记录存储在RecordSet对象中;利用RecordSet对象的相关属性和方法浏览数据;用ASP的Response.Write方法将符合条件的记录输出到浏览器窗口。使用Recordset对象添加记录在数据表中添加记录的一般过程是:提供一个输入数据的界面(*.htm)服务器端.asp程序将用户输入的数据存入变量中建立连接、打开数据库,形成RecordSet对象实例利用AddNew和UpDate方法将用户输入的数据写入RecordSet对象实例中。具体步骤如下:添加一条空记录:rs.AddNew为当前记录的各字段赋值:rs.(“姓名”)=“张三”将当前记录写入数据表中:rs.Update使用Recordset对象修改记录使用RecordSet对象修改某指定记录的字段值的方法,与添加记录比较,只是将AddNew方法用MoveNext等方法替代,以达到定位记录的目的,其它过程均相同。使用Recordset对象删除记录删除当前记录的语句是rs.Delete。Recordset对象只能操作“当前数据记录”,因此要用MoveFirst、MoveNext等方法移动记录指针到要删除的记录。说明:删除记录时,一定要保证当前记录是存在的。当前记录不存的原因有以下几种:rs为空;当前记录为最末一个记录,又用了MoveNext方法;当前记录为第一个记录,又用了MovePrevious方法。8.用SQL操作数据库SQL提供了一套完整的创建、查询、操作命令。SQL功能SQL命令说明数据定义CREATE创建数据表结构ALTER修改数据表结构DROP删除数据表结构数据查询SELECT查询满足条件的数据记录数据操纵INSERT插入数据记录UPDATE修改指定记录的指定字段值DELETE删除指定数据记录

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功