ASP数据库访问方法.ppt

上传人:新** 文档编号:572016449 上传时间:2024-08-12 格式:PPT 页数:49 大小:389.01KB
返回 下载 相关 举报
ASP数据库访问方法.ppt_第1页
第1页 / 共49页
ASP数据库访问方法.ppt_第2页
第2页 / 共49页
ASP数据库访问方法.ppt_第3页
第3页 / 共49页
ASP数据库访问方法.ppt_第4页
第4页 / 共49页
ASP数据库访问方法.ppt_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《ASP数据库访问方法.ppt》由会员分享,可在线阅读,更多相关《ASP数据库访问方法.ppt(49页珍藏版)》请在金锄头文库上搜索。

1、第六章第六章 ASP数据库访问方法数据库访问方法 1Active Server Pages / Chapter 6 /回顾lSession 对象用于存储用户的信息。在整个用户会话过程中,此信息都将保留。lASP 应用程序使用一个特殊的文件维护有关该应用程序全局事件和对象的信息,该特殊文件称为 Global.asa。lCookies 是一个很小的信息包,用于维护用户计算机的状态信息。2Active Server Pages / Chapter 6 /目标目标l掌握常用掌握常用SQL语句语句l在在 ASP 中创建数据库连接中创建数据库连接l执行数据库命令执行数据库命令l使用使用 RecordSet

2、 添加、修改和删除数据添加、修改和删除数据l分页显示分页显示记录集记录集3Active Server Pages / Chapter 6 /SQL语言简介lSQLSQL(StructureStructure Query Query LanguageLanguage,结结构构化化查查询询语语言言)是是一一种种被被关关系系型型数数据据库库产产品品广广泛泛使使用用的的标标准准结结构构化化查查询询语语言言。主主要要用用于于对对数数据据库库中中的的数数据据进进行行组组织织、管管理理和和检检索索。各各种种关关系系型型数数据据库库都都支支持持SQLSQL指令。指令。lSQLSQL语语言言是是非非过过程程化化

3、的的语语言言(第第四四代代语语言言),不不像像C C、CobolCobol、FortranFortran等等那那样样是是完完整整的的计计算算机机语语言言,确确切切地地说说,SQLSQL是是一一种种数数据据库库子子语语言言,SQLSQL可可以以被被嵌嵌入入到到另另一一种种语语言言中中,从从而而使使其其具具有有数数据据库库功能。功能。学好学好SQLSQL语语言言对对ASPASP编编程是非常重要的程是非常重要的。4Active Server Pages / Chapter 6 /SQL语言简介DDLDDL数据定义语言数据定义语言:用于定义、修改或者删除数据库对象,如create、drop、alter

4、;DQLDQL数据查询语言数据查询语言:用于对数据进行查询,如select;DMLDML数据操纵语言数据操纵语言:用于访问、建立或者操纵在数据库中已经存在数据,如insert、update、delete;DCLDCL数据控制语言数据控制语言:管理对数据库对象的访问权限和回收,如表grant、revokeSQL语句语句5Active Server Pages / Chapter 6 /常用SQL语句l基本SQL语句包括DQL和DML。也就是最常用的四大基本操作:查询(查询(select)插入(插入(insert)删除(删除(delete)更新(更新(update)6Active Server P

5、ages / Chapter 6 / Select语句 l此时可以使用Select语句来取得满足特定条件的记录集。也就是说可以从数据库中查询有关记录。 lSelect Top(数值数值) 字段列表字段列表 From 表表 Where 条件条件 Order By 字段字段 Group By 字段字段 7Active Server Pages / Chapter 6 /Select语句示例lSelect * From users lSelect real_name,email From users lSelect Top 3 * From users lSelect real_name,(subm

6、it_date+365) As new_date From users lSelect * From users Where submit_date#2003-11-1# AND real_name=“建波” 8Active Server Pages / Chapter 6 /Select语句示例lSelect * From users Where real_name like “%勇%” lSelect * From users Order By real_name DESC lSelect Count(*) As total From users Where submit_date#200

7、3-11-1# lSelect users.real_name,day_log.log_date,day_log.IP From users,day_log Where users.user_name=day_log.user_name 9Active Server Pages / Chapter 6 /Insert语句 l向用户表Uesrs中增加新成员时,就需要将新用户的数据插入到表users中。此时,可以使用SQL语言中的Insert语句来实现这个功能。 lInsert Into 表表(字段字段1,字段字段2,) Values(字字段段1的值的值,字段字段2的值的值,) 10Active

8、Server Pages / Chapter 6 /Insert语句示例lInsert Into users ( user_name, password,real_name,tel,email,submit_date) Values(“mengmeng”,”123456”,”萌萌萌萌”,”6887150”,””, #2003-11-2#)11Active Server Pages / Chapter 6 /Insert语句示例lInsert Into users ( user_name ) Values(“liya”)lInsert Into users ( user_name, real_n

9、ame ) Values(“feiyun”,”费云费云”)lInsert Into users ( user_name, submit_date ) Values(“luofang”,#2003-12-5#)lInsert Into users ( user_name, age) Values(“zhangpeng”,23)12Active Server Pages / Chapter 6 /Delete语句 l在在SQL语言中,可以使用语言中,可以使用Delete语句来删语句来删除表中无用的纪录。除表中无用的纪录。 lDelete From表表 Where 条件条件13Active Serv

10、er Pages / Chapter 6 /Delete语句示例 lDelete From users Where user_name=“tutu” lDelete From users Where submit_date#2003-1-1# And real_name=“李亚李亚” lDelete From users 14Active Server Pages / Chapter 6 /Update语句 l可以使用可以使用Update语句来实现更新数据的功能语句来实现更新数据的功能 lUpdate 数据表名数据表名 Set 字段字段1字段值字段值1,字段,字段2字段值字段值2, Where

11、 条件条件 15Active Server Pages / Chapter 6 /Update语句示例 lUpdate users Set tel=“8282999”,email=“” Where user_name=“jjshang”lUpdate users Set submit_date=#2003-1-1# Where submit_date#2003-1-1#lUpdate users Set age=age+1016Active Server Pages / Chapter 6 /ADO ( ActiveX 数据对象)lADO 是用于访问数据回旋加速器是用于访问数据回旋加速器 中数

12、据的中数据的编程接口,提供了一个编程模型。编程接口,提供了一个编程模型。l使用使用 ADO 可以:可以:-连接数据源。连接数据源。-指定访问数据源的命令并执行该命令。指定访问数据源的命令并执行该命令。-将作为命令结果返回的数据存储在可在其中进将作为命令结果返回的数据存储在可在其中进行操纵的高速缓存中。行操纵的高速缓存中。-使用高速缓存中修改的数据更新数据源。使用高速缓存中修改的数据更新数据源。17Active Server Pages / Chapter 6 /使用使用 ADO访问访问数据库数据库数据库数据库Active Server PageActiveX 数据数据对象对象(ADO)OLE

13、DBODBC 驱动程序驱动程序HTTP 请求请求HTTP 响应响应Web 服务器服务器IIS客户端客户端(浏览器)(浏览器)18Active Server Pages / Chapter 6 /连接到数据库连接到数据库建立事务建立事务设置设置SQL语句语句传递参数传递参数执行执行SQL语句语句操作数据操作数据完成或取消事务完成或取消事务关闭连接关闭连接19Active Server Pages / Chapter 6 /ADO 对象模型对象模型ConnectionCommandRecordsetFieldErrorPropertyParameterPropertyPropertyPropert

14、y20Active Server Pages / Chapter 6 /连接字符串使用连接字符串打开使用连接字符串打开ADO Connection对象,实现与数据库的连接。对象,实现与数据库的连接。连接字符串中包含的信息包含有数据连接字符串中包含的信息包含有数据资源的地址,打开连接的用户安全信任资源的地址,打开连接的用户安全信任等。等。 21Active Server Pages / Chapter 6 /使用 OLE DB 连接SQL Serverl下面的例子创建了一个与名称为yourServer的SQL Server数据库的连接。22Active Server Pages / Chapte

15、r 6 /OLE DB 连接SQL Server 示例%setconn=Server.CreateObject(ADODB.Connection)conn.OpenPROVIDER=SQLOLEDB;DATASOURCE=YourServer;UID=sa;PWD=admin;DATABASE=PubsResponse.Write(连接状态:连接状态:&myConnection.State&)state属性用于返回连接的状态,属性用于返回连接的状态,0为关闭,为关闭,1为打开,为打开,2为正在连为正在连接,接,3为正在执行,为正在执行,4为正在读取数据为正在读取数据Ifconn.State=1

16、ThenResponse.Write欢迎使用欢迎使用Pubs!ElseResponse.Write对不起!无法打开对不起!无法打开Pubs。EndIf%23Active Server Pages / Chapter 6 /使用 OLE DB 连接Accessl下面的例子创建了一个与下面的例子创建了一个与ACCESS数据库的连数据库的连接。接。24Active Server Pages / Chapter 6 /介绍 ODBClMicrosoft 开放式数据库连接开放式数据库连接 (ODBC) 标准是标准是一个应用程序编程接口一个应用程序编程接口 (API) 函数的集合。函数的集合。lODBC

17、驱动程序是一些驱动程序是一些 DLL,包含了连接各种,包含了连接各种数据库所需的函数。数据库所需的函数。 lODBC 驱动程序的功能:驱动程序的功能:l提供数据库连接。提供数据库连接。l准备和执行准备和执行 SQL 语句。语句。l处理事务。处理事务。l返回结果集。返回结果集。l记录错误。记录错误。25Active Server Pages / Chapter 6 /创建ODBC数据源lODBC 数据源名称(DSN)用于标识数据源的键。DSN 包含下列信息:l数据库配置数据库配置l用户安全性用户安全性l数据库位置数据库位置l演示:创建到Access数据库的DSN连接l演示:创建到SQL Serv

18、er数据库的DSN连接26Active Server Pages / Chapter 6 /使用ODBC连接SQL Server DSN的名字的名字登录登录SQL Server的用户名的用户名登录登录SQL Server的密码的密码可选。若不使可选。若不使用,则打开的用,则打开的是缺省数据库是缺省数据库27Active Server Pages / Chapter 6 /使用使用ODBC连接连接AccessDSN的名字的名字对于加密的对于加密的Access数据库需数据库需要使用要使用UID和和PWD参数参数28Active Server Pages / Chapter 6 /Connectio

19、n 对象对象lConnection 对象对象 - - 用于设置和维护应用程序和用于设置和维护应用程序和 数据数据库库之间的连接之间的连接。属性属性/方法方法描述描述Open 方法方法此方法用于打开数据库连接此方法用于打开数据库连接Close 方法方法此方法用于关闭数据库连接此方法用于关闭数据库连接Execute 方法方法此方法此方法用用于对数据源执行于对数据源执行 SQL 语句语句ConnectionTimeout 属属性性此属性用于设置此属性用于设置连接时,该连接所需连接时,该连接所需等待的持续时间(以秒为单位)。等待的持续时间(以秒为单位)。29Active Server Pages /

20、Chapter 6 /Execute方法方法 添加记录添加记录30Active Server Pages / Chapter 6 /Execute 方法 更新记录31Active Server Pages / Chapter 6 /Execute 方法 删除记录32Active Server Pages / Chapter 6 /使用事务处理使用事务处理lConnection对象中关于事务处理的方法:lBeginTrans 开始一个新事务,在调用开始一个新事务,在调用CommitTrans 和和 RollbackTrans 前不会前不会提交任何更改。提交任何更改。lCommitTrans 更改

21、至数据库,并结束当更改至数据库,并结束当前事务。前事务。 lRollbackTrans 取消当前事务中所做的更取消当前事务中所做的更改,并结束当前事务。改,并结束当前事务。33Active Server Pages / Chapter 6 /事务处理示例%err.clearOnErrorResumeNextsetmyConnection=Server.CreateObject(ADODB.Connection)myConnection.OpenDSN=SQLServerDSN;UID=sa;PWD=passwdmyConnection.BeginTransmyConnection.Execut

22、e(Insertintojobs(job_desc,min_lvl,max_lvl)Values(ChiefTechnicalOfficer,175,250)Response.Write(已插入记录已插入记录ChiefTechnicalOfficer)myConnection.Execute(Insertintojobs(job_desc,min_lvl,max_lvl)Values(ChiefProductionOfficer,175,250)Response.Write(已插入记录已插入记录ChiefProductionOfficer)Iferr.number0thenmyConnecti

23、on.RollBackTransResponse.Write(事务已取消事务已取消)elsemyConnection.CommitTransResponse.Write(事务已提交事务已提交)EndifmyConnection.close%34Active Server Pages / Chapter 6 /Close方法 - 关闭数据库连接l打开一个与数据库的连接以后,应尽快使用Close方法关闭连接,释放资源。例如:conn.closelOLE DB 和 ODBC 都支持缓冲池,注意l使用连接后要尽快关闭使用连接后要尽快关闭l要使用同一个连接字符串才能成为缓冲池要使用同一个连接字符串才能成

24、为缓冲池35Active Server Pages / Chapter 6 /Recordset 对象对象lRecordSet 对象用于检索和显示数据库中的记录集。l使用Connection对象的Execute方法,可以返回查询结果记录集。l定义 RecordSet 对象: Setrs=Server.CreateObject(ADODB.Recordset)36Active Server Pages / Chapter 6 /使用Recordset 示例%SetConn=Server.CreateObject(ADODB.Connection)Conn.OpenDSN=SQLServerDSN

25、;uid=sa;pwd=passwd;Setrs=Conn.execute(SELECT*FROMjobs)Response.WriteDoWhilenotrs.eof%Setrs=Server.CreateObject(ADODB.RecordSet)rs.openSELECT*FROMjobs,conn37Active Server Pages / Chapter 6 /lFields 集合用于访问 RecordSet 对象中的字段值。语法示例Recordset.fields(field name)rs.Fields(productname)Recordset.fields(index)r

26、s.Fields(2)字段索引是从零开始的字段索引是从零开始的Fields 集合的集合的 Count 属性存储属性存储 RecordSet 中字段的数中字段的数量量,name属性存储字段名称,属性存储字段名称,value属性存储字段的值。属性存储字段的值。显示显示Recordset 的的字段值字段值38Active Server Pages / Chapter 6 /RecordSet 的的常用属性和方法常用属性和方法属性属性/方法方法说明说明BOF属性属性标标志志着着记记录录集集的的开开始始,若若当当前前记记录录位位置置在在第一个记录前则值为第一个记录前则值为TrueEOF属性属性标标志志着

27、着记记录录集集的的结结束束,若若当当前前记记录录位位置置在在最后一个记录后则值为最后一个记录后则值为TrueRECORDCOUNT属属性性返回记录集的记录总数返回记录集的记录总数MoveNext方法方法移至当前目录的下一条记录移至当前目录的下一条记录MovePrevious方法方法移至当前目录的上一条记录移至当前目录的上一条记录Move方法方法将记录指针移到指定位置将记录指针移到指定位置MoveFirst方法方法将记录指针移到第一条记录处将记录指针移到第一条记录处MoveLast方法方法将记录指针移到最后一条记录处将记录指针移到最后一条记录处39Active Server Pages / Ch

28、apter 6 /显示RecordSet - 示例%Set Conn = Server.CreateObject(ADODB.Connection)Conn.Open DSN=SQLServerDSN;uid=sa;pwd=123456;Set rs = Server.CreateObject(ADODB.RecordSet)rs.open SELECT * FROM jobs ,connResponse.Write for i=0 to rs.Fields.Count-1 response.write &rs.fields(i).name&NextResponse.Write Do Whil

29、e not rs.eof Response.Write For i=0 to rs.Fields.Count-1 Response.Write & rs.fields(i).value & Next Response.Write rs.movenextLoopResponse.Write rs.closeConn.close%在浏览器在运行该程序在浏览器在运行该程序40Active Server Pages / Chapter 6 /RecordSet 的游标的游标Adovbs.inc 文件文件中包含着与中包含着与ADO一起使用的常量定义清单,在一起使用的常量定义清单,在安装安装ASP时就安装

30、在服务器中了,一般会在时就安装在服务器中了,一般会在WINDOWS安装目录安装目录下的下的ServicePackFiles/i386目录下。目录下。 游标类型游标类型ADO 常量常量描述描述仅向前游标仅向前游标adOpenForwardOnly只允许向前移动只允许向前移动键键盘盘驱动游标驱动游标adOpenKeySet可看到其他用户所做的部分数可看到其他用户所做的部分数据更改据更改动态动态游标游标adOpenDynamic可看到其他用户所做的所有数可看到其他用户所做的所有数据更改据更改静态静态游标游标adOpenStatic提供提供记录集的静态副本。看不记录集的静态副本。看不到其他人的更改。到

31、其他人的更改。41Active Server Pages / Chapter 6 /RecordSet 的锁类型上上锁类型锁类型ADO 常量常量描述描述只读只读adLockReadOnly 缺省的上锁类型。以这种方式打缺省的上锁类型。以这种方式打开记录集,将不能改变数据。开记录集,将不能改变数据。 悲观锁定悲观锁定adLockPessimistic 正在编辑的记录将被锁定,以确正在编辑的记录将被锁定,以确保没有多个用户同时更新记录。保没有多个用户同时更新记录。乐观锁定乐观锁定adlockOptimistic 只有在调用只有在调用 Update 方法时才锁方法时才锁定记录。定记录。 批批量更新量

32、更新adLockBatchOptimistic 可使用可使用 UpdateBatch 方法一次更方法一次更新多个记录新多个记录 。42Active Server Pages / Chapter 6 /用原始ADO方式更新记录RecordSet方法方法描述描述Update保存对记录作的改动,移向新记录保存对记录作的改动,移向新记录时,自动调用该方法。时,自动调用该方法。AddNew用于向用于向RecordSet添加一条新记录,添加一条新记录,创建新记录时,必须调用创建新记录时,必须调用Update方法才能将该记录写入数据库。方法才能将该记录写入数据库。Delete用于删除当前记录。用于删除当前记

33、录。43Active Server Pages / Chapter 6 /添加记录示例添加记录示例44Active Server Pages / Chapter 6 /删除记录示例45Active Server Pages / Chapter 6 /限制记录数46Active Server Pages / Chapter 6 /总结lADO (Active Data Object)是用于访问数据库中数据的编程接口。是用于访问数据库中数据的编程接口。l在在ASP程序中,可以使用程序中,可以使用OLE DB直接或通过建立直接或通过建立ODBC数据源连接数据源连接数据库。数据库。lConnection 对象提供了对数据源的连接。对象提供了对数据源的连接。lRecordSet 对象在高速缓存中存储查询结果。它还用于创建高速缓存对象在高速缓存中存储查询结果。它还用于创建高速缓存视图,这样就可以对数据进行排序、筛选和定位。用户还可以通过它视图,这样就可以对数据进行排序、筛选和定位。用户还可以通过它编辑和更新数据源。编辑和更新数据源。对于返回很多条记录的记录集,会采取分页的方式。对于返回很多条记录的记录集,会采取分页的方式。49Active Server Pages / Chapter 6 /

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号