《ADO与Web数据库》PPT课件.ppt_第1页
《ADO与Web数据库》PPT课件.ppt_第2页
《ADO与Web数据库》PPT课件.ppt_第3页
《ADO与Web数据库》PPT课件.ppt_第4页
《ADO与Web数据库》PPT课件.ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章ADO与Web数据库,ADO是ASP内置的一个用于数据库访问的组件,是ASP技术的核心之一。Web数据库则是Web技术和数据库技术相结合的产物,网上办公、电子商务、在线注册与搜索等都需要利用Web数据库来存储和管理数据。可以说,要开发基于Browser/Server(浏览器/服务器)模式的网络应用就不能没有Web数据库的支持。ASP与ADO相结合,完整地解决了网页与数据库的连接与集成问题,实现了客户端浏览器对Web数据库灵活而有效地访问,从而提供了对各种Web应用的强大支持。,第7章ADO与Web数据库,7.1ADO基础,7.2Connection对象,7.3Command对象,7.4Recordset对象,7.5访问数据库实例,7.1ADO基础,7.1.1使用ADO访问数据库ASP是通过一组统称为ADO(ActiveXDataObject,活动数据对象)的对象模块来操作数据库的。无论是Access、SQLServer、VisualFoxPro、Oracle、dBase、Informix或是其他数据库,只要该数据库具有对应的ODBC或OLEDB驱动程序,ADO对象就能够进行操作。,7.1ADO基础,7.1.2ADO对象模型ADO组件主要提供了7种对象和4种集合供Web应用程序的开发者使用,通过这些对象和集合,可以方便地建立与Web数据库的连接、执行SQL查询并处理查询得到的结果。,ADO集合描述,ADO对象描述,其中,Connection对象、Command对象和Recordset对象是最基本也是最重要的对象。,7.2Connection对象,ADO组件中的Connection对象,用于建立和管理应用程序与OLEDB数据源或ODBC数据库之间的连接,其他所有对象都必须依赖此对象实现的连接才能发挥各自的功能。Connection对象是ADO内置组件对象,因此需首先用Server对象的CreateObject方法创建一个实例后才可使用。Setconn=Server.CreateObject(”ADODB.Connection”),7.2Connection对象,Connection对象的常用属性,7.2.1Connection对象的属性,7.2Connection对象,Connection对象的方法及描述,7.2.2Connection对象的方法,7.2Connection对象,7.2.2Connection对象的方法,1Open方法打开与数据库的物理连接,只有在使用本方法之后,才能够访问指定的数据源。,语法格式:Connobject.Openconnectionstring,UserId,Password说明:Connectstring为可选参数,它是一个字符串变量,包含用于连接数据库的信息字符串,该参数由分号分隔的一系列argument=value语句组成。UserId为可选参数,它是一个字符串变量,包含建立连接时访问数据库使用的用户名称。Password为可选参数,它是一个字符串变量,包含建立连接时访问数据库使用的密码。,7.2Connection对象,7.2.2Connection对象的方法,2Close方法关闭与数据源的连接,并且释放与连接有关的系统资源。,语法格式:Connobject.close说明:关闭一个连接对象但没有从内存中删除该对象。因此一个关闭的connection对象还可以用open方法打开而不必再次创建一个connection对象。此外,在使用close方法关闭连接时,也将关闭以此连接相关的所有活动的recoordset对象。但是,与此连接相关的command对象将不受影响,只不过command对象不再参与这个连接。为了释放connection对象所占用的所有资源,可以用下面的方法:SetConnobject=nothing,7.2Connection对象,7.2.2Connection对象的方法,3Execute方法执行SQL命令或存储过程,以实现与数据库的通讯。,语法格式:有返回记录的格式:SetRs=Connobject.Execute(CommandText,ReccordAffected,Options)无返回记录的格式Connobject.ExecuteCommandText,ReccordAffected,Options说明:CommandText是一个字符串,它包含一个表名,或某个将被执行的SQL语句。ReccordAffected为可选参数,返回此次操作所影响的记录数。Options为可选参数,用来表示CommandText参数的性质。,7.3Command对象,Command对象用来定义数据库的查询动作,这个查询一般采用SQL语句,大部分数据库都会支持SQL语言解释。通过和SQLServer的查询及存储过程的良好结合,Command对象有更强大的数据库访问能力,无论是对数据库的插入、更新和删除这类无需返回结果集的操作,还是对Select查询这样需返回结果集的操作都一样简单。创建Command对象实例语句格式为:Setcomm=Server.CreateObject(”ADODB.Command”),7.3.1Command对象的属性,7.3Command对象,Command对象的属性,7.3.2Command对象的方法,7.3Command对象,Command对象的常用方法有Execute方法,用来运行CommandText属性所设定的SQL查询、SQL说明命令或存储过程,以实现与数据库的通讯。其语法为:有返回记录的格式:SetRs=Comm.Execute(RecordsAffected,Parameters,Options)无返回记录的格式:Comm.ExecuteRecordsAfiected,Parameters,OptionsRecordAfiected为可选参数,返回此次操作所影响的记录数。Parameters为可选参数,表示一个SQL语句的参数集合。Options为可选参数,用来指定ADO如何解释CommandText参数的参数值,它的取值与意义connection中Options参数的取值及意义相同。,Recordset对象负责从数据库中取得所需的记录数据并在内存中创建一个记录集合。用户在访问数据库时,一般先通过Connection对象建立与指定数据库的连接,再按所需的要求通过相应的SQL命令从数据库中提取数据创建一个Recordset记录集,此后即可利用Recordset对象的各种属性和方法对这个记录集中的数据进行各种操作处理。创建Command对象实例语句格式为:Setrs=Server.CreateObject(”ADODB.Recordset”),7.4Recordset对象,7.4.1Recordset对象的属性,7.4Recordset对象,7.4.2Recordset对象的方法,7.4Recordset对象,7.4Recordset对象,7.4.2Recordset对象的方法,1Open方法打开一个RecordSet对象,语法格式Rs.OpenSource,ActiveConnection,CursorType,LockType,Option说明:Source:表示数据源,可以是一个Command对象名、一段SQL命令、一个指定的数据表名称,也可以是一个存储过程名。ActiveConnection:表示所使用的连接,可以是一个已建立的Connection对象名,也可以是一个包含数据库连接信息的字符串。,CursorType:表示打开RecordSet对象所使用的光标类型。不同的光标类型决定了对RecordSet所能做的操作。共有四种光标类型:0-前滚光标,记录指针只能向前移动,且不允许修改任何记录,是Cursor的默认值,此类型所用的系统资源最少,访问效率最高;1-键盘光标(KeysetCursor),记录指针可向前向后移动,可进行记录的更新和删除,但所做的任何记录修正均无法由他人读取;2-动态光标(DynamicCursor),记录指针可向前向后移动,可进行记录的更新和删除,所做的任何记录修正均可由他人读取,此类型所用的系统资源最多;3-静态光标(StaticCursor),记录指针可向前向后移动,但不允许修改任何记录。,Open方法语法格式:Rs.OpenSource,ActiveConnection,CursorType,LockType,Option,Open方法语法格式:Rs.OpenSource,ActiveConnection,CursorType,LockType,Option,LockType:表示编辑时记录的锁定类型。它决定了当多用户试图同时改变一个记录时,RecordSet如何处理数据记录。它的取值有:1-只读锁定,记录只读,不能更新RecordSet,为LockType的默认值;2保守式锁定,编辑记录开始立刻锁定,直到提交给数据提供者;3开放式锁定,只有调用Update方法更新记录时才锁定记录;4-批量开放式锁定,允许同时更新多条记录。,Open方法语法格式:Rs.OpenSource,ActiveConnection,CursorType,LockType,Option,Option:表示数据提供者如何处理Source的内容类型。,例如:Rs.Open“select*from表名”,conn,1,1,1。,7.4Recordset对象,7.4.2Recordset对象的方法,2Close方法Rs.close关闭RecordSet对象,并不从内存中删除该对象,只是无法读取其中的数据,但仍然可以读取它的属性。因此一个关闭的ReccordSet对象还可以用Open方法打开并保持其原有属性。如果正在进行编辑更新数据的操作,在调用Close方法前必须先调用Update或CancelUpdate方法,否则将会出现错误。如果以批量模式更新数据记录(Reccordset的LockType属性设为3),那么对缓冲区数据的修改将全部丢失。另外,使用Clone方法复制一个已经打开的RecordSet对象,调用Close方法不影响任何复制的RecordSet对象。用下面的命令可以释放RecordSet对象所占用的所有资源:setRs=nothing,7.4Recordset对象,7.4.2Recordset对象的方法,3使用Move、MoveFirst、MoveLast、MovePrevious、MoveNext方法移动记录指针时,需要注意RecordSet对象的光标类型。如“前滚光标”限制了记录指针只能向前移动。,7.5.1连接数据库1.使用Connection对象连接到数据源(连接数据库),7.5访问数据库实例,常用的通用数据源的OLEDB连接字符串,7.5.1连接数据库2.使用RecordSet对象读取记录集(打开表),7.5访问数据库实例,7.5访问数据库实例,7.5.2显示记录1.基本格式rs.movenextwendendif%,7.5访问数据库实例,7.5.2显示记录2.显示更多字段,价格:&rs(Proprice)response.write简介:&rs(ProShow)response.writers.MoveNextWendendif%,7.5访问数据库实例,7.5.2显示记录3.显示部分记录如前3条记录,价格:&rs(Proprice)response.write简介:&rs(ProShow)response.writers.MoveNextnextendif%,7.5访问数据库实例,7.5.2显示记录4.用表格形式显示记录,价格:&rs(Proprice)response.write简介:&rs(ProShow)response.writers.MoveNextnextendif%,型号:价格:,7.5访问数据库实例,7.5.2显示记录4.用表格形式显示记录改进表格将放在循环的外面,形成一列多行。也可将放在循环的外面,仅循环单元格,形成一行多列。,7.5访问数据库实例,7.5.2显示记录4.用表格形式显示记录课堂练习:改进表格实现第一行是表头,下面是记录的形式。,课堂练习:改进表格实现第一行是表头,下面是记录的形式。,型号:价格:简介:,7.5访问数据库实例,7.5.2显示记录5.使用Fields集合显示记录,Fields.count表示记录集中字段的个数Fields(i).name表示当前记录第i+1个字段的名称Fields(i).value表示当前记录第i+1个字段的值,显示字段的名称作为表格的表头fori=0tors.fields.count-1response.write&rs.fields(i).namenextresponse.write显示字段值dowhilenotrs.eofdata=fori=0tors.fields.count-1data=data&rs.fields(i).valuenextresponse.writedata&

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论