ASP数据库编程技术.ppt

上传人:小飞机 文档编号:6501813 上传时间:2023-11-07 格式:PPT 页数:81 大小:1.61MB
返回 下载 相关 举报
ASP数据库编程技术.ppt_第1页
第1页 / 共81页
ASP数据库编程技术.ppt_第2页
第2页 / 共81页
ASP数据库编程技术.ppt_第3页
第3页 / 共81页
ASP数据库编程技术.ppt_第4页
第4页 / 共81页
ASP数据库编程技术.ppt_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《ASP数据库编程技术.ppt》由会员分享,可在线阅读,更多相关《ASP数据库编程技术.ppt(81页珍藏版)》请在三一办公上搜索。

1、第11章 ASP数据库编程技术,11.0 ASP访问数据库简介,在传统的HTML页面中,访问数据库一般是通过公用网关接口(CGI)来实现开发困难,大量并发请求时会显著地降低服务器的运行效率ASP(Active Server Pages)技术实现数据库访问一种是通过ODBC(Open Database Connectivity-开放的数据库连接)接口一种是通过ADO(ActiveX Data Objects)技术。Internet数据库接口(IDC)远程数据服务(RDS),11.0.1 什么是ODBC,ODBC是连接数据库的通用驱动程序,它是微软推出的一种工业标准,一种开放的独立于厂商的API应

2、用程序接口,可以跨平台访问各种个人计算机、小型机以及主机系统。也就是说运用ODBC,我们可以实现对多种数据库的连接。back,1应用程序访问数据库的传统方式,2透过ODBC访问数据库的方式,11.0.1 什么是ODBC,ODBC使用DSN(Data Source Name,数据源名)定位和标识特定的 ODBC 兼容数据库,将信息从 Web 应用程序传递给数据库。DSN的意思是“应用程序用以请求一个连到ODBC数据源的连接的名字”,换句话说,它是一个代表ODBC连接的符号。它隐藏了诸如数据库文件名、所在目录、数据库驱动程序、用户ID、密码等细节。因此,当使用一个已建立的连接时,使用者不用去考虑所

3、要连接的数据库的类型、数据库的文件名、存放位置等问题,只要给出它在ODBC中的DSN既数据源名即可。,11.0.1 什么是ODBC,DSN有3种类型:文件 DSN:这种DSN的细节既描述连接的方式储存在指定文件中。只有有权限存取该文件的用户才能访问该DSN。系统 DSN:这种DSN可以被任何登录到系统中的用户使用。用户 DSN:这是为特定用户建立的DSN。只有建立这个DSN的用户才能看到并使用它。,11.0.2 什么是ADO,ADO(Active Data Object),一个ASP内置服务器对象的数据库访问控件。ADO对象给开发人员提供了一种快捷、简单、高效的数据库访问方法。ADO可以包含在

4、ASP应用程序中来产生对数据库的连接,进而存取和操纵数据库中的表,形成用户实际要使用的数据的集合。ADO几乎兼容各种数据库系统。,利用ASP与ADO访问Web数据库,ADO对象主要是由七个对象和四个数据集合所组成。七个对象是Connection对象、Command对象、Parameter对象、Recordset对象、Field对象、Property对象、Error对象等,以及Fields数据集合、Properties数据集合、Parameters数据集合和Error数据集合。每一个对象都有大量的属性和方法,如果系统地掌握了这些属性和方法,就能开发出功能更全面、更高级的系统。,ADO主要的对象,

5、1.Connection对象又称连接对象,用于创建ASP程序和指定数据库的连接。在使用任何数据库之前,首先应创建程序与数据库的连接,然后才能对数据库做进一步的操作。2.Command对象又称命令对象,负责对数据库提供请求,也就是传递指定的SQL命令。它可以对数据库执行查询,更新、插入和删除等操作。3.Recordset对象又称记录集对象,负责浏览与操纵从数据库取得的数据。Recordset对象是最主要的对象。当用Command对象或Connection对象执行查询命令后,就会得到一个Recordset对象,该对象包含满足条件的所有记录。这三个对象的逻辑关系是,利用Connection对象建立与

6、数据库的连接,然后利用Command对象对数据库执行查询等SQL命令,得到Recordset记录集,最后在Recordset对象中进行具体操作。back,11.0.3 ACCESS数据库的系统DSN配置,【ODBC数据源管理器】对话框,在桌面上选择【开始】、【设置】、【控制面板】,打开【控制面板】对话框,双击【管理工具】图标,然后再双击【ODBC数据源】图标,打开【ODBC数据源管理器】对话框。,选择【系统DSN】选项卡,单击【添加】按钮,出现【创建新数据源】对话框。,11.0.3 ACCESS数据库的系统DSN配置,【创建新数据源】对话框,选择名称为【Microsoft Access Dri

7、ver(*.mdb)】数据源驱动程序。单击【完成】。,11.0.3 ACCESS数据库的系统DSN配置,【ODBC Microsoft Access安装】对话框,在【数据源名】文本框中填入要配置的DSN的名称,例如Mysite。然后单击【选择】按钮。,11.0.3 ACCESS数据库的系统DSN配置,【选择数据库】对话框,选择要作为数据源的数据库。然后单击【确定】按钮。,11.0.3 ACCESS数据库的系统DSN配置,【ODBC数据源管理器】对话框,系统数据源列表中出现了Mysite。至此,ACCESS数据库Mysite的系统DSN配置完成。,11.0.4 配置SQL Server数据库的D

8、SN,在Web服务器的桌面上选择【开始】、【设置】、【控制面板】,打开【控制面板】对话框,双击【管理工具】图标,然后再双击【ODBC数据源】图标,打开【ODBC数据源管理器】对话框。2.选择【系统DSN】选项卡,单击【添加】按钮,出现【创建新数据源】对话框,【创建新数据源】对话框,11.0.4 配置SQL Server数据库的DSN,设置数据源名称对话框,填入要配置的DSN的名称,例如MySQLsite;在服务器文本框中输入SQL Server的服务器名或IP地址,如果SQL Server的服务器和Web服务器同在一台机器,可选择Local选项。单击【下一步】按钮,11.0.4 配置SQL S

9、erver数据库的DSN,【登录】设置对话框,可选择【使用用户输入登录ID和密码的SQL Server验证】单选项,这时将采用混合方式来验证用户;在【用户ID】文本框中输入管理员用户名sa,在【密码】文本框中输入sa的密码。,11.0.4 配置SQL Server数据库的DSN,选择数据源对话框,勾选【更改默认的数据库为(D)】复选框,其下面的列表框变为可选,从列表中选择site数据库(此数据库是准备作为数据源的数据库)。,以下对话框选择系统默认设置即可完成数据源的配置。,11.0.5 在Dreamweaver MX中建立数据库连接,在Dreamweaver MX中建立数据库的连接有两种方法,

10、一种方法是利用在服务器端建立的ODBC 数据源,另一种方法是直接写连接数据库的脚本命令,即所谓自定义字符串。前一种方法操作简单,可靠性高,缺点是当把应用程序移到另一台计算机上时,要在新计算机上重新配置数据源;后一种方法脚本的调试较麻烦,优点是移机时不用重新调试。本节使用第一种方法。,11.0.5 在Dreamweaver MX中建立数据库连接,连接数据库快捷菜单,首先在Dreamweaver MX定义好一个支持ASP技术的站点。然后在Dreamweaver MX的浮动面板中,单击【应用程序】展开按钮,打开【应用程序】控制面板。选择【数据库】选项卡,单击 按钮,出现如图所示快捷菜。单,在快捷菜单

11、中选择【数据源名称(DSN)】。,11.0.5 在Dreamweaver MX中建立数据库连接,【数据源名称(DSN)】对话框,输入为该连接取的名称,如lj,如果Dreamweaver MX和Web服务器不在同一台计算机上就应选择【使用测试服务器上的DSN】,否则选择【使用本地DSN】。,选择数据源,如果该数据源要求输入用户名和密码,那么在【用户名】文本框和【密码】文本框中填写用户名和密码。,11.0.5 在Dreamweaver MX中建立数据库连接,单击【测试】按钮,如果数据库连接成功,会出现成功创建脚本连接对话框,点击新连接前面的加号,可以打开所连接的数据库的结构,至此,数据库连接建立完

12、毕,在以后页面文件设计中,使用该连接,可以方便地创建动态的、交互式的网页。,ADO样例,【例11-1】以下是一个视频网站中某个页面的源代码(ch9-10.asp),它完成在页面上列出数据库表中所有电影的名称、影片级别及主要演员的功能。存放这些电影信息的数据库表名为films,影视在线%,建立一个连接对象,并打开与数据源filmdata的连接 Set Conn=Server.CreateObject(ADODB.connection)Conn.Open Mydata建立一个记录集对象Set RS=Server.CreateObject(ADODB.Recordset)%定义一个SQL命令串Str

13、SQL=select filmID,name,level,stars from films,通过记录集的Open方法执行SQL命令串RS.Open StrSQL,Conn,adOpenForwardOnly,adLockReadOnly将以表格的形式在页面上显示检索出的数据While Not RS.EOF以下4条语句取出记录集Fields集合中的4个field对象的值MusicID=RS.Fields(filmID).ValueMusicName=RS.Fields(name).ValueMusicLevel=RS.Fields(level).ValueMusicStars=RS.Fields

14、(stars).Value%,从ASP页面访问数据库,从ASP文件内部访问数据库的通常途径是:创建至数据库的ADO连接(ADO connection)打开数据库连接 创建ADO记录集(ADO recordset)打开记录集(recordset)从数据集中抽取你所需要的数据 关闭数据集 关闭连接,11.1 Connection对象,Connection对象负责网页应用程序与数据库之间的链接,建立Connection对象后,ASP网页才可使用RecordSet对象与Command对象进行存取数据源的操作。建立Connection对象 建立一个Connection对象通常通过调用Server对象的C

15、reateObject方法,如下所示:Set Conn=Server.CreateObject(ADODB.Connection)上述程序代码建立了一个名为Conn的Connection对象,使用此对象可进行与数据库的链接操作。,对象的方法,1.Open方法,Connection对象的Open方法主要用来用来建立与数据库的连接,只有用Open方法建立与数据库的连接后,才可以继续进行其它操作。,2.Execute方法,在建立好数据库链接后,可以使用Execute方法进行数据源查询操作。其使用语法为:Set rs=Connection.Execute(Query,Count,Options)其中各

16、个参数的含义为:Query(查询)参数包含一个表名或某个将被执行的数据查询信息(SQL语句)。Count参数指定执行数据查询信息返回所影响的记录数。Options参数用于控制Query参数的性质,它有4个值定义Query的类型:(1)abCmdText:此参数值表明将执行的是一个SQL串。(2)abCmdTable:此参值表明Query中的一个表名。(3)abCmdStoreProc:此参数值表明Execute方法将要执行的是一个数据源知道的存储过程。(4)abCmdUnknown:此参数值表明Query中的命令类型不清楚。,3.Close方法,Close方法用于终止程序与数据库之间的链接,并

17、且用于释放与链接有关的系统资源。语法示例如下:语句c.Close用于关闭Connection对象,语句set c=nothing释放链接数据所占用的系统资源。,11.2 Connection对象的属性,11.2 Connection对象的属性,11.2.2 CommandTimeout属性 CommandTimeout属性用于设定Execute方法的最长执行时间,也就是设定数据源查询操作的时间。属性值为一个长整型变量,默认值为30秒。也可以设置为任意值,如果想让执行Execute方法时没有时间限制,则只需将其值设置为0,如下面程序所示:11.2.3 ConnectionTimeout属性 Co

18、nnectionTimeout属性用于设定Open方法的最长执行时间,也就是设定链接数据源的最大链接时间。它并不定义命令的执行时间,只是定义链接数据源时的最长等待时间。其属性值为一个长整型的变量,默认为15秒。如果设置为0,则表示没有时间限制。,11.2.4 ConnectionString属性利用ConnectionString属性可以返回一个字符串,此字符串中包含了创建数据源链接时所用的所有信息。它可以是系统的DSN,也可以是链接数据源时的所有参数。Connection对象可以接受该属性传过来的5个参数,每个参数之间都要用”;”号隔开。,ConnectionString的参数,11.2.5

19、 Mode属性Mode属性用于表示链接的写权限。这个属性只能在Connection对象没有被打开的情况下进行设置.,11.3.1 连接 Access数据库,11.3.2 连接SQL Server数据库,back,SQL Server数据库使用的参数,11.3.3 ASP与其它数据库连接的几种方法,根据不同的系统需求,以及应用数据量的大小,程序员有可能采用不同的数据库系统,如Sybase或Access等,这里给出几种常用的ADO连接方式。,1 ODBC DSN 连接方式(1)DSN方式 oConn.Open DSN=mySystemDSN;&_ Pwd=myPassword,2 ODBC DSN

20、 LESS 连接方式(1)ODBC Driver for Access oConn.Open Driver=Microsoft Access Driver(*.mdb);,(2)ODBC Driver for Excel oConn.Open Driver=Microsoft Excel Driver(*.xls);&_ DefaultDir=c:somepath 将Excel911或Excel2000生成的XLS文件(book)看成一个数据库,其中的每一个工作表(sheet)看成数据库表。,3 OLE DB Providers方法(1)OLE DB connection for Access

21、oConn.Open Provider=Microsoft.Jet.OLEDB.4.0;,11.4 Recordset对象,Recordset对象又称记录集对象,是最主要的对象。当用Command对象或Connection对象执行查询命令后,就会得到一个记录集对象,该记录集包含满足条件的所有记录。在使用Recordset对象前,必须先利用Connection对象链接数据库。Recordset对象用于存储对数据库进行查询后返回的记录集。使用Recordset对象前,先要利用Server对象的CreateObject方法建立Recordset对象,其使用语法如下:建立名为rs 的Recordset

22、对象后,便可以使用Recordset对象的方法对数据库文件进行各种操作。,记录集结构图,BOF,EOF,记录1,记录1,记录2,记录3,记录N,后,前,记录指针,当前记录,1、利用Connection对象的Execute方法建立,建立Recordset对象的几种方法:,2、利用Connection对象的Execute方法的另一种形式,3、直接建立Recordset back,建立Recordset对象的几种方法:,RecordSet对象数据的读取,Show Table sales Fields.Count是记录集的字段数,显示字段名 显示字段的值,显示记录,)next Response.Wri

23、te()rs.MoveNext loop rs.close conn.close%,在 HTML 表格中显示记录,Recordset对象的方法,4月28号 复习,什么是ODBC,其主要功能是什么?(P36)DNS有哪三种类型?ADO三个最主要的对象是什么,它们之间有什么逻辑关系?(P11)如何使用ADO连接Acess和SQL server 数据库?(P4142)掌握使用Connection对象的excute方法建立recordset对象(P50),系统,用户,文件,Recordset对象的属性,1 Recordset对象的Open方法,Open方法用来打开记录集。其使用语法为:Recordse

24、t对象.OpenSource,Activeconnection,Cursor Type,LockType,Options,例,在Web页中列出数据库表sales的GoodsName域,要求显示顺序从最后一条记录开始直至第一条记录为止 BackWard%Set Conn=Server.CreateObject(ADODB.Connection)Set RS=Server.CreateObject(ADODB.RecordSet)Conn.Open MyData打开记录集时,将指定游标的类型为adOpenStatic,可在记录集中前向或后向移动,RS.Open SELECT*FROM sales,

25、Conn,adOpenstaticRS.MoveLast移向最后一个记录While Not RS.BOF Reponse.Write(&RS(GoodsName)RS.Move.Previous移向前一记录WendRS.CloseConn.Close%,【例】在数据库表sales中插入一条新记录,Insert a Record%Set Conn=Server.CreateObject(ADODB.Connection)Set RS=Server.CreateObject(ADODB.RecordSet)Conn.Open MyData,记录集打开时,将指定锁定方式为adLockPessimis

26、ticRS.Open SELECT*FROM sales,Conn,adOpenDynamic,adLockPessimisticRS.AddNew插入一条新记录以下将为新记录的两个字段赋值RS(ID)=200012RS(GoodsName)=ComputerRS.Update保存该新增记录RS.CloseConn.Close%,2.移动记录指针,RecordSet对象的MoveFirst方法、Movelast方法、MovePrevious方法和Move方法主要用于在RecordSet中移动记录指针:1MoveFrist方法 MoveFrist方法用于把RecordSet中的记录指针移动到第一

27、行记录。语法:RecordSet对象.MoveFirst2MoveLast方法 Movelast方法用于把RecordSet中的记录指针移到最后一行记录。语法:RecordSet对象.Movelast,2.移动记录指针,RecordSet对象的MoveFirst方法、Movelast方法、MovePrevious方法和Move方法主要用于在RecordSet中移动记录指针:3MoveNext方法 MoveNext方法用于记录指针移到下一行记录,须使用RecordSet.EOF判断一下记录指针是否到了尾记录。语法:RecordSet对象.MoveNext 4MovePrevious方法 Move

28、Previoust方法用于记录指针移到上一行记录,必须使用RecordSet.BOF判断一下记录指针是否到了首记录,。语法:RecordSet对象.MovePrevious,4.更新与增删数据记录的方法,1.Addnew方法Addnew方法用于向数据库中增加新记录,其使用语法为:RecordSet对象.AddnewField,Values参数说明如下:(1)Fields为单一的字段名称或多个字段名称构成的数组。(2)Values为单一数据值或多个数据值所构成的数组。2.Delete 方法Delete方法用来删除当前记录,可进行批量删除。其使用语法为:RecordSet对象.DeleteAdAf

29、fectCurrent|AdAffectGroup参数说明如下:(1)AdAffectCurrent参数:值为。该属性是默认值,使用该属性设定会删去当前位置索引的记录行。(2)AdAffectGroup参数:值为。该属性删除符合Filter属性设定的记录行子集合。,4.更新与增删数据记录的方法,3Update方法 Update方法用于更新数据库数据。语法:RecordSet对象.Update4CancelUpdate方法 用于取消刚发生的更新动作。语法:RecordSet对象.CancelUpdate,11.4.2 Recordset对象属性,1)方式属性2)行为属性3)记录指针移动属性4)数

30、据维护属性,2.行为属性,CursorType属性:此属性定义了指针的类型,不同的指针类型决定了对数据库所能做的操作,它有4得可取值,如表所示。,3.记录指针移动的属性,1BOF和EOF属性:这两个属性是用来判断指针是否在RecordSet的首记录之前或尾记录之后。如果当记录位于RecordSet的首记录之前,则BOF返回True.如果当前记录是位于RecordSet的尾记录之后,则EOF返回True.如果BOF 和EOF都为True,则说明RecordSet中没有记录。2RecordCount属性:该属性用于返回RecordSet中的记录数。,11.4.3 Field对象和Fields集合,

31、Field对象又称字段对象,是Recordset的子对象.一个记录集就好比一个电子表格,该表格内总是包含有许多列(字段),每一个字段就是一个Field对象,而所有Field对象组合起来就是一个Field对象集合.例:要输出姓名字段时,用如下语句:还可以用以下几种方法:,当用索引值时,按字段在记录集中的先后顺序,从0开始.,Fields集合的属性,Fields集合的属性只有一个,就是Count属性.该属性返回记录集中字段(Field对象)的个数.语法:Recordset对象.Fields.Count,Fields集合的方法,Fields集合的方法也只有一个,就是Item方法.该方法用于建立某一个

32、Field对象.语法:Set Field对象=Recordset对象.Fields.Item(字段名或字段索引值)其中字段索引值是根据记录集中的先后顺序排列,从0到Fields.Count-1,Field对象的常用属性,Field对象的属性中最有用的属性是字段值Value.因为在页面上使用数据库最主要的就是和字段值打交道.语法:Field对象.ValueValue也被定为 Field对象的默认属性,可以省略不写,语法:Field对象,使用RecordSet对象读取数据库内容,例11-2:读取Access数据库文件db1.mdb的ASP程序(access1.asp)如下:,使用RecordSet

33、对象读取数据库内容,读取Access数据库文件的内容&f2(i).name&Next%&f2(i)&NextResponse.Write Row&“f2.MoveNextWend%,第二部分:读取数据库文件内容,使用RecordSet对象对数据记录进行增加、删除及修改,1.使用AddNew方法增加数据记录 使用AddNew方法增加数据记录,要先建立一个缓冲区,并且将这个缓冲区设置为当前数据记录。确定要添加的数据记录后,通过Update方法或使用移动当前数据记录的方法将数据写入到数据库中。如果要取消添加的数据记录,使用CancelUpdate方法取消添加。例:在例11-2文件access1.as

34、p的第2部分前面加入如下的语句,就可以实现增加数据库记录的操作。,使用RecordSet对象对数据记录进行增加、删除及修改,2.使用Delete方法删除数据记录 在使用Delete方法对数据记录进行删除操作时,首先要将准备删除的数据记录设置成当前的数据记录,然后再调用Delete方法。例11-4:在例11-2文件access1.asp的第2部分前面加入如下语句,可删除ID号为1的一条记录。,使用RecordSet对象对数据记录进行增加、删除及修改,3.修改数据记录 修改数据记录需要借助Update方法以及移动数据记录指针的方法。可把当前数据记录的每一个字段都看作一个变量,修改字段内容的语句格式如下;object(“字段名称”)=新的字段值 object.Update例11-5:将例114数据库中ID号为3的记录的”姓名”与职务”的字段值改为”大周”和教师”实现这一功能只需在例11-2文件access1.asp的第2部分前面加入如下语句:,对记录集进行分页,Recordset对象有3个属性用于实现翻页,可以使用这些属性把一个记录集中的记录分成许多逻辑页。把记录集中的记录进行分页,可以一次只显示记录集中的一部分。,再见!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号