《ASP程序设计》简单教程.ppt

上传人:xin****828 文档编号:15475558 上传时间:2020-08-12 格式:PPT 页数:73 大小:1.82MB
收藏 版权申诉 举报 下载
《ASP程序设计》简单教程.ppt_第1页
第1页 / 共73页
《ASP程序设计》简单教程.ppt_第2页
第2页 / 共73页
《ASP程序设计》简单教程.ppt_第3页
第3页 / 共73页
资源描述:

《《ASP程序设计》简单教程.ppt》由会员分享,可在线阅读,更多相关《《ASP程序设计》简单教程.ppt(73页珍藏版)》请在装配图网上搜索。

1、ASP程序设计简单教程,姓名:林妙兰 单位:茂名广播电视大学 信箱:,第9讲 深入进行数据库编程,讲解提纲,9.1 ADO的内部对象 9.2 Connection对象 9.3 Command对象 9.4 Recordset对象 9.5 存取SQL Server数据库 9.6 对多个表进行组合查询 9.7 开发实例-在线通讯录 9.8 本章小结,9.1 ADO的内部对象,Connection对象连接数据库 Command对象执行命令 Recordset对象记录集对象 Error、Parameter、Field分别是它们的子对象,9.2 Connection对象,Connection对象又称数据库

2、连接对象,用来建立和数据库的连接。 几个学习重点: 建立数据库连接的各种方法。 Connection对象的Execute方法。 事务处理功能,9.2.1建立Connection对象,建立Connection对象的方法一般如下: Set Connection 对象实例=Server.CreateObject(“ADODB.Connection”) Connection对象实例.Open 数据库连接字符串 在上面的数据库连接字符串中,会用到若干参数,如 DSN ODBC数据源名称 Driver 数据库的驱动程序类型 Dbq 数据库的物理路径 Provider 数据提供者 ,连接数据库的具体方法,(

3、1)创建没有ODBC数据源的连接 Dim db Set db=Server.CreateObject(ADODB.Connection) Db.Open Dbq=C:InetpubwwwrootASPTempchapter9address.mdb;Driver= Microsoft Access Driver (*.mdb) 注意事项: Dbq是数据库文件的物理路径 Driver是数据库的类型,注意Driver和(*.mdb)之间有且仅有一个空格,连接数据库的具体方法,(1b)创建没有ODBC数据源的连接 Dim db Set db=Server.CreateObject(ADODB.Conn

4、ection) Db.Open Dbq= Driver=Microsoft Access Driver (*.mdb) 注意事项: 本例只是利用Server.MapPath方法将相对路径转换为了物理路径。 不过要注意相对路径的写法,这里因为数据库文件和ASP文件在同一个文件夹,所以直接写文件名称了。,连接数据库的具体方法,(2)创建有ODBC数据源的连接 Dim db Set db=Server.CreateObject(ADODB.Connection) Db.Open Dsn=addr 注意事项: 参数Dsn表示数据源,addr是为数据库文件address.mdb建立的数据源名称。 这里也

5、可以省略Dsn=,直接简写为Db.Open addr,连接数据库的具体方法,(3)创建基于OLE DB的连接 Dim db Set db=Server.CreateObject(ADODB.Connection) Db.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:InetpubwwwrootASPTempchapter9address.mdb 注意事项: 参数Provider表示数据库的驱动程序,这里为Access。 参数Data Source表示数据库的物理路径,当然这里也可以使用Server.MapPath方法将相对路径转换为物理

6、路径。,9.2.2 Connection对象的属性,Connection对象的重要属性,ConnectionString用来指定数据库连接字符串;Provider用来指定数据库管理程序名称。和9.2.1中Open方法用到的实际一样。 Mode用来指定对数据库的权限,默认为可读可写。,9.2.3 Connection对象的方法,Connection对象的重要方法,Open方法用来打开数据库连接;Close方法用来关闭数据库连接。 Execute方法用来执行各种查询命令,其实可以完成查询、添加、删除和修改全部操作。 BeginTrans、CommitTrans和RollbackTrans用来进行事

7、务处理,9.2.4 利用Connection对象存取数据库,本节内容已经在第8章全部讲过,本节只是一个复习。,9-1.asp,9.2.5 事务处理,为什么要进行事务处理? 银行转账示例 同生共死,同进共退,事务处理示例,9-2.asp,9.2.6 Error对象和Errors集合,Error对象又称为错误对象,是Connection对象的子对象。数据库程序运行时,一个错误就是一个Error对象,所有的Error对象就组成了Errors集合,又称错误集合。 Error对象和Errors集合的关系 汽车和车队的关系 士兵和军队的关系,Errors集合的属性和方法,属性 Count 返回集合中错误的

8、个数。如: Connection对象.Errors.Count 方法 Item 用来返回一个错误对象,如: Set Error对象= Connection对象.Errors.Item(错误索引值) Clear 清除集合中的所有错误,如: Connection对象.Errors.Clear,Error对象属性,Number 错误编号,如3251、3246等 Description 错误描述 Source 错误原因 HelpContext 错误的帮助提示文字 HelpFile 错误的帮助提示文件 NativeError 服务器端产生的原始错误,Error对象示例,9-3.asp,9.3 Comma

9、nd对象,Command对象又称命令对象,是对数据库执行命令的对象,它可以执行对数据库查询、添加、删除、修改等记录操作。 Command对象是介于Connection对象和Recordset对象之间的一个对象,它主要通过传递SQL指令,对数据库提出操作请求,把得到的结果返给Recordset对象。 Command对象依赖Connection对象,因为Command对象必须经过一个已经建立的Connection对象才能发出SQL指令。 实际开发时常常省略了Command对象,但是其实也隐含建立了该对象。,建立Command对象的方法(1),一般是建立Connection对象,然后再建立Comma

10、nd对象。如: ,建立 Command对象(2),不建立Connection对象,直接建立Command对象。 这种建立方法其实也要隐含建立Connection对象,但是,因为没有明确建立Connection对象,就不能使用Connection对象的Execute等方法了。,9.3.2 Command对象的属性,Command对象的重要属性,CommandType 指定查询信息类型,1表示SQL语句;2表示数据表名;4表示查询名或存储过程名称。 CommandText 指定数据库查询命令,可以是SQL语句、数据表名或查询名称。 ActiveConnection 指定Connection对象实例

11、名称。,9.3.3 Command对象的方法,Execute 执行数据库查询命令,非常类似于Connection对象的Execute方法。 CreateParameter用来创建一个Parameter子对象,9.3.4 利用Command对象存取数据库,利用Command对象也可以查询、添加、更新、删除记录,请注意和利用Connection对象比较:,9-4.asp,9.3.5 非参数查询,首先在数据库中建立查询,如 Select * From users Where name=“李玫” 在ASP中建立Command对象的时候,指定查询命令类型为查询,并指定查询命令字符串为查询名称。如: cm

12、d.CommandType=4 CommandText= list,非参数查询示例,9-5.asp,9.3.6 参数查询,在建立查询时,可以使用参数,如下面input_name就是一个参数: Select * From users Where name=input_name 执行时和非参数查询类似,但是要注意需要传入参数。,参数查询示例,9-6.asp,9.3.7 Parameter对象和Parameter集合,一个Parameter对象就是一个参数,若干个参数对象组成一个Parameters集合。 对象和集合的关系同Error对象和Errors集合。,Parameters集合的属性和方法,属

13、性 Count 返回参数集合中的参数对象个数,如: cmd.Parameters.Count 方法 Append 添加一个参数对象 Delete 删除一个参数对象 Item 返回一个参数对象 Refresh 刷新Parameters集合中的参数对象。,建立Parameter对象,语法如下: Set Parameter对象实例=Command对象.CreateParameter(name,type,direction,size, value) 说明 Name 参数名称 Type 参数类型,200表示变长字符串 Direction 参数方向, 1表示传入,2表示传出 Size 参数大小,一般可以省

14、略 Value 参数的值 具体示例参看前面讲的9-6.asp。,Parameter对象的属性和方法,属性 Name、Type、Direction、Size、Value和Attributes和CreateParameter方法的几个参数类似。 方法 AppendChunk 该方法用于添加数据到Parameter对象的末尾。,9.4 Recordset对象,Recordset对象又称记录集对象。当用Command对象或Connection对象执行查询命令后,就会得到一个记录集对象,该记录集包含满足条件的所有记录。 本节学习重点 建立Recordset对象的方法 利用Recordset对象实现添加、

15、删除或更新记录操作; 数据分页显示的技术。,9.4.1 建立Recordset对象,建立Recordset对象的语法: Set Recordset对象实例=Server.CreateObject(“ADODB.Recordset”) Recordset对象.Open Source,ActiveConnection,CursorType,LockType,Options 说明 Soruce Command对象名或SQL语句或数据表名 ActiveConnection Connection对象名或数据库连接字符串 CursorType Recordset对象记录集中的指针类型, LockType

16、Recordset对象的使用类型 Options Source类型,建立Recordset对象的具体方法(1),利用Connection对象的Execute方法建立 Dim db,rs Set db=Server.CreateObject(ADODB.Connection) db.Open Dsn=addr Set rs=db.Execute(Select * From users) 说明: 这种方法是最常用的方法。 它没有明确建立Command对象,但是会建立一个隐含的Command对象。,建立Recordset对象的具体方法(2),利用Command对象的Execute方法建立 Dim d

17、b,cmd,rs Set db=Server.CreateObject(ADODB.Connection) db.Open Dsn=addr Set cmd= Server.CreateObject(ADODB.Command) cmd.ActiveConnection=db cmd.CommandText=Select * From users Set rs=cmd.Execute 说明: 该方法明确建立了Connection对象和Command对象 。,建立Recordset对象的具体方法(3),利用Connetion对象的Execute方法建立的另一种形式 Dim db,rs Set d

18、b=Server.CreateObject(ADODB.Connection) db.Open Dsn=addr Set rs=Server.CreateObject(ADODB.Recordset) rs.Open Select * From users,db 说明: 这是将方法一修改为明确建立Recordset对象。,建立Recordset对象的具体方法(4),利用Command对象的Execute方法建立的另一种形式 Dim db,cmd,rs Set db=Server.CreateObject(ADODB.Connection) db.Open Dsn=addr“ Set cmd=

19、Server.CreateObject(ADODB.Command) cmd.ActiveConnection=db cmd.CommandText=Select * From users Set rs=Server.CreateObject(ADODB.Recordset) rs.Open cmd 说明: 这种方法明确建立三个对象,功能最强大,也最科学。,建立Recordset对象的具体方法(5),直接建立Recordset对象 Dim rs Set rs=Server.CreateObject(ADODB.Recordset) rs.Open Select * From users, Ds

20、n=addr 说明: 这种方法由于没有明确建立Connection对象和Command对象,就无法使用他们的特殊功能。,建立Recordset对象的总结,一般只有在查询记录时才会需要建立Recordset对象。 而插入、删除和修改记录时则不需要返回记录集,所以一般就利用Connection对象或Command对象的Execute方法就可以了。,关于记录集,记录集,好比内存中的虚拟数据表,保存了满足查找条件的所有记录。,9.4.2 Recordset对象的属性,Recordset对象的重要属性,第1组、打开记录集时的一些设置 Source、ActiveConnection、Cursortype、

21、LockType、CursorLocation、Filter。 这一组和建立Recordset对象时的参数类似。 第2组、打开记录集后的一些操作 RecordCount、Bof、Eof 第3组、关于数据分页的一些属性 PageSize、PageCount、AbsolutePage,9.7.3 Recordset对象的方法,9.7.3 Recordset对象的方法,第1组、主要是关于Recordset对象本身。 Open、Close、Requery 第2组、用来移动记录指针。 Movefirst、MovePrevious、MoveNext、MoveLast、Move 第3组、用来添加、删除或修改

22、记录。 AddNew、Delete、Update、CancelUpdate、GetRows,9.4.4 利用Recordset对象查询记录,其实在第8章已经多次使用,只是以前并没有明确建立Recordset对象而已。,9-7.asp,9.4.5分页显示数据,分页显示示意图 分页显示数据的思想,首先显示第1页数据,并且在下方提供页码链接,当客户选择页码时,仍然传递到本文件,并显示新的一页,分页显示数据具体示例,首先来看建立Recordset对象的语句 说明: 必须明确建立Recordset对象,并使用键盘指针1或静态指针3,9-8.asp,分页显示数据具体示例,如何判断当前显示第几页 说明: 因

23、为用Request.QueryString方法返回的数据类型是字符串,这里必须使用CInt函数将返回的字符串转换为数字。,9-8.asp,分页显示数据具体示例,分页显示数据 说明: 要特别注意如何判断一页的结尾,这里采用了两个条件,分别用来判断普通页和最后一页的结尾情况。,9-8.asp,分页显示数据具体示例,显示数据页码 说明: 当单击这些超链接时,就会再链接到本页,并将要显示的数据页码当作参数传回来。,9-8.asp,9.4.6 利用Recordset对象更新数据库,使用SQL语句更新数据库虽然简单,但是在写SQL语句时可能经常出错,而利用Recordset对象来更新数据库,则不需再写复杂

24、的SQL语句。 当然,用这种方法必须明确建立Recordset对象,并且要注意Open方法的参数,要可以读写才行。,添加记录,示例 说明: AddNew表示添加一条新记录. 最后必须用Update方法,才可以彻底添加进去。,修改记录,示例 说明: 直接给要修改的字段赋值,然后使用Update方法即可更新。,删除记录,示例 说明: 删除记录很简单,首先执行Delete方法,然后执行Update即可。 但是删除记录只是对当前记录而言,可以使用移动记录指针的方法将指针移动到需要删除的记录,然后删除即可。,使用Recordset对象更新数据库小结,教材中9-10.asp是一个将各种方法综合到一起的示例

25、,大家可以拆开练习。 另外9-9.asp是另外一种借用数组的方法,请自行研究。 一般情况下,本课程使用SQL语句来执行更新数据库的任务,但特殊情况下使用本方法可能更方便。,9.4.7 Fields集合和Field对象,一个记录集就好比一个电子表格,该表格内总是包含有许多列(字段),每一个字段就是一个Field对象,而所有Field对象组合起来就是一个Fields集合。,输出字段值的几种方法,Response.Write rs(name) Response.Write rs.Fields(name) Response.Write rs.Fields(name).Value Response.Wr

26、ite rs.Fields.Item(name).Value Response.Write rs(1) Response.Write rs.Fields(1) Response.Write rs.Fields(1).Value Response.Write rs.Fields.Item(1).Value,Fields 集合的属性和方法,属性 Count 返回记录集中字段个数 方法 Item 返回一个字段对象,语法如下: Set Field对象=Recordset对象.Fields.Item(字段名或字段索引值) 也可以简写为 Set Field对象=Recordset对象 (字段名或字段索引值

27、),Field对象的属性,Field对象属性示例,9-11.asp,9.5 存取SQL Server数据库,存取SQL Server数据库(以下简称SQL数据库)其实和存取Access数据库是一样的,只是在连接数据库时略有区别,其他部分基本不用修改。,9.5.1 连接SQL Server数据库,(1)创建没有ODBC数据源的连接 Dim db Set db=Server.CreateObject( ADODB.Connection) db.Open Database=sqltest;Uid=jjshang;Pwd=12345;Driver=SQL Server; Server= localho

28、st 说明: Database表示数据库的名称 Uid为登录用户名,Pwd为密码 Driver 表示是SQL Server数据库 Server表示数据库所在的服务器位置,Localhost表示本机,如果是在其它服务器上,请替换为IP地址。,9.5.1 连接SQL Server数据库,(2)创建有ODBC数据源的连接 Dim db Set db=Server.CreateObject( ADODB.Connection) db.Open Dsn=test;Uid=jjshang;Pwd=12345 说明: Dsn表示数据源名称,其它同前 注意也可以省略参数名称,该为: db.Open test,

29、 jjshang, 12345,9.5.2 存取SQL数据库,连上SQL数据库后,所有操作同Access数据库,程序基本不用改动。 需要特别说明的是,在SQL语句中,日期字段值两边的#号要改为单引号。,9.5.3 SQL Server数据库和Access数据库的互相转化,Access数据库和SQL数据库是可以相互转化的,可以将Access数据库导入SQL,或者将SQL数据库导出为Access数据库。 实际开发时,可以先用Access数据库,这样方便些。等基本上开发好后,再导入到SQL数据库中。而要修改的是就是个别字段的类型和连接数据库的语句。 SQL数据库还是要稳定些, 大型网站应该采用SQL数据库。,9.6 对多个表进行组合查询,9-12.asp,9.7 开发实例在线通讯录,该程序整合了前面所学的数据库知识,请大家结合前面所学知识自己研究。 其中重点 如何查找记录?Search.asp 如何插入不完整的信息?Add.asp和Update.asp 分页显示数据 list.asp,9.8 本章小结,希望大家重点掌握的是3个对象的概念和彼此的关系、使用事务处理,分页显示数据、从多个表中组合查询,

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!