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

下载本文档

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

文档简介

第7章 数据库访问,7.1 网络数据库概述 7.2 ODBC数据源 7.3 ADO对象 7.4 数据库访问 7.5 综合举例,7.1 网络数据库概述,ODBC是连接数据库的通用驱动程序,是由微软主导的数据库连接标准,实用环境也以微软的系统最为成熟。在UNIX系统中,通常要使用其他厂商所提供的ODBC驱动程序,有些UNIX厂商会自己提供ODBC驱动程序(如SUN为Solaris提供ODBC)。,ADO是在Microsoft的新的数据库应用开发接口(API)OLE DB技术上实现的,通过ASP的ADO对象,只要安装了相应的OLE DB驱动程序,就可以访问各种数据源,包括传统的关系型数据库和其他数据。,返回首页,7.2 ODBC数据源,7.2.1 ODBC概述 7.2.2 创建数据源,返回首页,7.2.1 ODBC概述,每个ODBC数据源都被指定一个名字,即DSN(Data Source Name)。ODBC数据源分为机器数据源和文件数据源两种。 机器数据源把信息存储在登录信息中,因而只能被该计算机访问。机器数据源包括系统数据源和用户数据源。系统数据源对本地计算机的所有用户都是可见的,而用户数据源是针对某个用户的,它只对当前用户可见。 文件数据源把信息存储在后缀名为.dsn的文件中,如果该文件存放在网络共享的驱动器中,就可以被所有安装了相同驱动程序的用户共享。,返回本节,7.2.2 创建数据源,ODBC数据源管理器,“创建数据源”窗口,“创建到SQL Server的新数据源”窗口,“SQL Server身份验证”窗口,指定默认数据库等选项,指定日志文件等选项,“ODBC Microsoft SQL Server安装”窗口,“SQL Server ODBC数据源测试”窗口,返回本节,返回本节,7.3 ADO对象,ADO对象(ActiveX Data Objects)是ASP内置对象之一,凡是能由ODBC驱动程序访问的数据库,在ASP中都可以通过ADO对象与SQL语句对其进行网络访问。,ADO的七个对象,(1)Connection对象用于创建ASP脚本和指定数据库的连接。,(2)Command对象负责对数据库提供请求,也就是传递指定的SQL命令。,(3)Parameter对象负责传递Command对象所需要的SQL命令参数。,(4)RecordSet对象负责浏览与操作从数据库中取得的数据,也就是说RecordSet对象可以用来表示来自基本表或命令执行结果的记录全集。,(5)Field对象表示指定RecordSet对象的数据字段。,ADO的七个对象,(6)Property对象表示ADO的各项对象属性值,每个ADO对象都会有一个描述或控制对象行的属性。,(7)Error对象负责记录连接过程中所有发生的错误信息,任何涉及ADO对象的操作都会生成一个或多个提供者错误。,ADO的四个数据集合,(1)Fields数据集合 所有Field对象的集合。,(2)Properties数据集合 所有Property对象的集合。,(3)Parameters数据集合 包含Command对象的所有 Parameter对象。,(4)Errors数据集合 所有Error对象的集合。,ADO对象与数据集合之间的关系,返回首页,7.4 数据库访问,实现网络数据库的访问主要包括以下5个步骤: (1)打开数据库 (2)创建记录集 (3)操作记录集 (4)关闭和释放ADO对象,返回首页,打开数据库,使用ADO访问数据库之前,先要建立数据源,再使用连接对象打开数据库。ADO的Connection对象是网络通过ADO访问数据库的关键,它负责与数据库的实际连接动作,其它对象都是依赖于Connection对象对数据库进行操作的。,Connection对象的创建 语法 Set 连接对象名 =Server.CreateObject(“ADODB.Connection“),例如 Set Conn =Server.CreateObject(“ADODB.Connection“),Connection对象的方法,Open方法,Connection对象的Open方法负责创建与数据源的连接。 语法 连接对象名.Open “DSN=数据源名;UID=用户名;PWD=密码;“,例如: Set Conn=Server.CreateObject(“ADODB.Connection“) Conn.Open “DSN=kycg;UID=sa;PWD=;“,Connection对象的属性,返回本节,创建记录集,对于数据库中数据的访问是通过记录集对象实现的,因此在访问数据库之前需要创建记录集对象。,用SQL语句创建记录集对象 用Recordset对象创建记录集对象 用Command对象创建记录集对象,用SQL语句创建记录集对象,即直接通过Connection对象的Execute方法创建记录集对象。,语法 连接对象名.Execute(CommandText,RecordAffected,Options),例如: Conn.Execute(Update teacher set 职称=“副教授“ Where 系别=“数学系“),Set Rs=Conn.Execute(Select * From teacher Where 职称=“教授“),CommandText:可以是SQL语句、一个存储过程或基本表名; RecordAffected:是一个整型变量,用于存储数据库服务器每次操 作所得的记录数; Options:表示对数据库请求的类型。,AdCmdText AdCmdTable AdCmdStoredProc,用Recordset对象创建记录集对象,(1)创建一个Recordset对象,格式如下: Set Recordset对象名 =Server.CreateObject(“ADODB.Recordset“),(2)使用Recordset对象的Open方法打开Recordset对象。,例如 Set ObjRs=Server.CreateObject(“ADODB.Recordset“),格式 Recordset对象名.Open 数据源,连接名称 ,游标类型,锁定方式,数据源类型,RecordSet对象的CursorType参数,RecordSet对象的LockType参数,RecordSet对象的Options参数,注以上常量的说明包含在文件“adovbs.inc”中,用户需要将该文件复制到网页文件所在的目录中。该文件的路径是“C:Program FilesCommon FilesSystemADO”,并且在用到该常量的ASP脚本的最前面需要加上如下语句: ,用Command对象创建记录集对象,创建Command对象的语法格式如下: Set Command对象名=Server.CreateObject(“ADODB.Command“),例如: Set ObjCm=Server.CreateObject(“ADODB.Command“),Command对象的属性,用Command对象创建记录集对象,使用ActiveConnection属性与Connection对象建立连接。 语法 Command对象名.ActiveConnection=Connection对象名 例如 ObjCm.ActiveConnection=Conn,Command对象的Execute方法用于执行CommandText属性中设定的SQL语句或存储过程,并且返回记录集对象。 语法 Set 记录集对象名=Command.Execute(CommandText,RecordsAffected,Parameters,Options),例如 Set ObjRs=ObjCm.Execute(Select * From teacher Where 职称=“教授“),返回本节,操作记录集,创建了记录集对象,就可以对记录集进行操作。对记录集的操作主要通过Recordset对象、Field对象和Fields集合实现。, Recordset对象的属性和方法 Field对象和Fields集合的属性和方法,返回本节,RecordSet对象的方法,1、Open方法 使用Open方法可以打开代表数据表、查询结果或者以前保存的RecordSet中记录的游标即与数据库建立连接。 语法 RecordSet.Open Source, ActiveConnection, CursorType, LockType, Options,2、Close方法 用来关闭所指定的RecordSet对象。 语法 RecordSet.Close,这些方法都是用来移动记录指针的,通过使用这些方法可以根据实际情况方便地将记录指针移动到所要的位置。 MoveFirst:将指针移动到RecordSet对象的第一条记录。 MoveLast:将指针移动到最后一条数据记录。 MoveNext:将指针移动到下一条数据记录。 MovePrevious:将指针移动到上一条数据记录。 Move:将指针移动到指定位置。,3、MoveFirst,MoveLast,MoveNext,MovePrevious,Move方法,RecordSet对象的方法,Num:指针移动的数目,如为正数表示向后移动,负数表示向前移动。 Start:指针移动的基准点。AdBookmarkCurrent或0表示从当前记录开始; AdBookmarkFirst或1表示从首记录开始; AdBookmarkLast或2表示从尾记录开始。,4Update,CancelUpdate,CancelBatch、UpdateBatch方法 用来更新或取消更新的。 Update:用于将RecordSet对象中当前记录的修改保存到 数据库中。 CancelUpdate:取消在调用Update方法前所做的修改。 UpdateBatch:进行批次模式的更新数据操作。 CancelBatch:允许取消批次模式的更新数据操作。,RecordSet对象的方法,AddNew:用来向数据库中插入一条新记录; Delete:用于从数据库中删除指定的记录。 语法 RecordSet对象名.AddNew RecordSet对象名.Delete,5、AddNew,Delete方法,RecordSet对象的属性,1ActiveConnection、Source、CursorType、LockType属性 2CursorLocation,Bookmark属性 3RecordCount,MaxRecords属性 4BOF,EOF属性 5PageSize,PageCount,AbsolutePage,AbsolutePosition,Recordset对象名.Open 数据源,连接名称 ,游标类型,锁定方式,数据源类型,返回,EditMode属性的取值,返回,Filter属性的取值,Fields集合就是Recordset对象中包含的所有Field对象的集合,可以通过Fields集合的Item方法获得Fields集合中的Field对象,语法如下: Recordset对象.Fields.Item(i) 也可以简写为: Recordset对象.Fields(i) i表示当前记录的第i个字段,i=0,1,字段个数-1。,还可以使用Recordset对象(“字段名“)的形式访问当前记录的某个字段。,Field对象的访问,使用Fields集合的Count属性获得一个Recordset对象中每条记录的字段个数。,Field对象的属性,Name属性表示对象属性的名称。 Value属性表示对象属性的属性值。 Type属性表示对象属性的数据类型。,返回,Field对象的方法,Field对象的方法包括AppendChunk,GetChunk等。AppendChunk方法和GetChunk方法是用来专门处理text,image等数据类型的。 AppendChunk方法用于将数据写到数据库中;GetChunk方法用于将数据从数据库中取出。 语法 Field.AppendChunk data Variant = field.GetChunk(size),关闭数据库,在所有数据库操作结束后,需要将记录集和数据库的连接关闭。可以通过Connection 对象的Close方法将已建立并打开的Connection对象关闭。 语法 连接对象名.Close 例如 Conn.Close,注 关闭以后的Connection对象的定义仍然存在,只是其中包含的数据被删除。因此,仍然可以通过Open方法将该Connection对象重新打开。,释放ADO对象,关闭了数据库的连接,只是清空了它们的数据,而定义还在。如果不再使用连接对象,则可以释放连接对象,进而释放所占用的内存资源。 语法 Set连接对象名=Nothing 例如 Set Conn=Nothing,返回本节,综合举例,例题13.19,例题13.20,例题13.21,例题13.22,返回首页,例13_19 显示记录,使用Command对象的Execute方法创建记录集对象rs ,注使用这种方法创建的记录集对象的游标类型是adOpenForwardOnly,只能对该记录集对象进行显示,不能进行修改、添加、删除的操作,也不能使用RecordCount属性。,例13_19 显示记录,在表格的第一行显示字段名 For i=0 to rs.Fields.count-1 Response.Write “ & rs.Fields(i).name & “ Next,显示具体的记录内容 Do while not rs.EOF Response.Write “ For j=0 to rs.Fields.count-1 Response.Write “ & rs.Fields(j).value & “ Next Response.Write “ rs.Movenext Loop,返回,例13_20 添加记录,通过Recordset对象创建记录集对象rs set conn = Server.CreateObject(“ADODB.Connection“) conn.Open “DSN=kycg; UID=sa; PWD=;“ Set rs= Server.CreateObject(“ADODB.Recordset“) rs.Open “teacher“,conn,adOpenKeyset,adLockOptimistic,adCmdTable,例13_20 添加记录,使用记录集对象的方法添加新记录 rs.AddNew rs(“教师编号“).Value =Trim(Request.QueryString(“num“) rs(“姓名“).Value=Trim(Request.QueryString(“name“) rs(“职称“).Value=Trim(Request.QueryString(“zc“) rs(“系别“).Value=Trim(Request.QueryString(“depart“) rs(“最高学位“).Value=Trim(Request.QueryString(“xw“) rs(“性别“).Value=(Request.QueryString(“sex“) rs.Update,返回,例1

温馨提示

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

评论

0/150

提交评论