ASP数据库编程ASP存取数据库.ppt
《ASP数据库编程ASP存取数据库.ppt》由会员分享,可在线阅读,更多相关《ASP数据库编程ASP存取数据库.ppt(89页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第6 6章章 ASPASP数据库编程数据库编程ASP存取数据库u学习连接数据库u实现查询、添加、删除和修改功能u了解ADO的几大对象及相互关系u学习各种事务处理和分页显示数据u学习连接SQL Server数据库的语句。目的与要求目的与要求u熟练掌握连接数据库的两种方式u利用Select语句查询记录、Insert语句添加、Delete语句删除、Update语句修改记录u了解ADO的几大内部对象:Connection对象、Recordset对象、Command对象的概念和相互关系 u会使用事务处理、会分页显示目的与要求(续)u连接SQL Server数据库的语句u了解ADO的几大内部对象:Con
2、nection对象、Recordset对象、Command对象的概念和相互关系u会使用事务处理、会分页显示u连接SQL Server数据库的语句重点难点重点难点u数据库连接和SQL语句的写法u利用execute方法和sql语句实现查询、添加、修改、删除u利用Connection对象、Recordset对象、Command对象实现数据库的深入操作,如分页显示等(难点)组 件说 明数据库存取组件用来存取数据库,是所有内置组件中最强大的文件存取组件用来存取文件,提供文件的输入输出方法广告轮显组件轻松构建广告页面,维护、修改方便浏览器兼容组件根据客户端浏览器类型送出正确的Web页面文件超链接组件建立象
3、书本的索引或目录一样的超链接Web页面计数器组件轻松统计网页访问次数ASPASP内部组件概述内部组件概述u数据库存取组件简介:l数据库存取组件是使用ADO技术存取数据库的一种ASP内置组件,是ASP内置组件中最重要的和使用最多的一个组件。lADO包括三个主要对象是:Connection、Command和Recordsetu以下将以网络导航为例讲解l连接数据库、查询记录、添加记录、删除记录、修改记录利用数据库存取组件存取数据库利用数据库存取组件存取数据库 数据库准备数据库准备u在Access中建立数据库wwwlink.mdb,存放在C:inetpubwwwroot目录下,如图连接数据库连接数据库
4、u连接数据库,要用到Connection对象,具体连接方法有两种:l第一种:利用数据源连接特点:连接简单,但需要在服务器设置数据源假设配置的数据源名字为wlink,则代码如下连接数据库连接数据库l不用数据源的连接方法优点:方便在机器之间移植代码代码举例(假设数据库与页面在同一目录下):连接数据库连接数据库u对于第二种方法,还可采用Server对象的Mappath方法,修改为:利用利用selectselect语句查询记录语句查询记录u查询时用Connection对象的Execute方法打开一个记录集u然后在记录集中移动记录指针依次显示所有记录l下面建立一个Connection对象实例dbdim
5、strsql,rs strsql=select*from link order by link_id desc 按降序排列set rs=db.Execute(strsql)利用利用selectselect语句查询记录(续)语句查询记录(续)u建立Recordset对象实例rsset db=Server.Createobject(ADODB.Connection)db.Open DBQ=&Server.Mappath(wwwlink.mdb)&_;DRIVER=Microsoft Access Driver(*.mdb);利用利用insertinsert语句添加记录语句添加记录u添加记录,利用C
6、onnection对象的Execute方法,不必返回记录集。u连接数据库,建立一个Connection对象实例dbvarName=Request(name)varURL=Request(URL)varIntro=Request(intro)利用利用insertinsert语句添加记录语句添加记录(续续)u获取上个页面的插入信息StrSql=insert into link(name,URL,intro,”&_”submit_date)values(&varName&“,&_varURL&“,&_ varIntro&“,&Date()&“)db.execute(strSql)利用insert语句
7、添加记录(续)u插入Sql语句的写法u利用Execute方法,添加记录利用利用DeleteDelete删除记录删除记录u删除记录,利用Connection对象的Execute方法,不必返回记录集l连上数据库,建立一个Connection对象实例dbset db=Server.Createobject(ADODB.Connection)db.Open DBQ=&Server.Mappath(wwwlink.mdb)&_;DRIVER=Microsoft Access Driver(*.mdb);varLink_id=Request.QueryString(link_id“)strSql=dele
8、te from link where link_id=&varLink_id 利用利用DeleteDelete删除记录(续)删除记录(续)u 利用Execute方法,删除记录u传过来的要删除的记录的记录编号u删除SQL语句的写法db.Execute(strSql)varLink_id=Request.QueryString(link_id)利用利用UpdateUpdate修改语句修改语句u修改记录,利用Connection对象的Execute方法。u获取传入的要修改的Link_IDset db=Server.Createobject(ADODB.Connection)db.Open DBQ=&
9、Server.Mappath(wwwlink.mdb)&_;DRIVER=Microsoft Access Driver(*.mdb);strSql=“select*from link where link_id=”&varLink_id varLink_id是传过来的set rs=db.Execute(strSql)利用Update修改语句(续)u连上数据库,建立一个Connection对象实例dbu建立Recordset对象实例rs深入进行数据库编程深入进行数据库编程uADO的内部对象uConnection对象uCommand对象uRecordset对象u存取SQL Server对象u对多
10、个表进行组合查询ADOADO的内部对象的内部对象ADO的主要对象和功能说明对 象说 明Connection用来建立与数据库的连接Command用来对数据库执行命令,如查询、添加、删除、修改记录Recordset用来得到从数据库返回的记录集Connection对象u学习Connection对象的重点:l如何建立Connection对象lConnection对象的Execute方法l事务处理功能u注意事项l需明确建立Connection对象,不明确时将利用Command或Recordset对象直接连接数据库。这样无法利用Connection对象的许多功能lConnection对象一般用来连接数据库
11、,也可用来查询、添加、删除或修改记录,但有一定局限性,如无法完成分页建立Connection对象u第一步:建立对象,语法如下:lSet Connection 对象=Server.CreateObject(“ADODB.Connection”)u第二步:用open方法来打开连接,语法如下lConnection 对象.open“参数1=参数1的值;参数2=参数2的值;”说明:l参数不会都用到,如Access数据库就不用User和Passwordl连接方式不同,参数不同,如数据源用DSN,而不用数据源就用DBQ和Driverl多个参数之间用分号隔开,顺序无关系参 数说 明DSNODBC数据源名称Us
12、er数据库登录帐号Password数据库登录密码Driver数据库类型(驱动程序)Dbq数据库的物理路径Provider数据提供者Connection对象的Open方法的参数属 性说 明Attribute设置Connection对象控制事务处理时的行为CommandTimeoutExecute方法的最长执行时间ConnectionString指定Connection对象的数据库连接信息ConnectionTimeoutOpen方法与数据库连接的执行最长时间CursorLocation控制光标的类型Connection对象的属性 ConnectionConnection对象的属性对象的属性(续)
13、属 性说 明DefaultDatabase指定Connection对象的缺省数据库名称IsolationLevel指定Connection对象的事务处理时机Mode指定数据库连接的权限Provider设置Connection对象内定的数据库管理程序名称Version显示ADO对象的版本信息ConnectionConnection对象常用属性举例对象常用属性举例uCommandTimeout:默认值为30秒,如设定为0则无限制直到执行完毕。如设置最长时间为60秒:,在服务器慢时使用uConnectionString:指定连接信息,如:ConnectionConnection对象对象常用属性举例常
14、用属性举例uConnectionTimeout:该属性默认值为15秒,如设定为0,则表示无限期等待直到Open方法完成为止。uDefaultDatabase:当数据提供者提供多个数据库时,用该属性设定默认数据库uVersion:显示ADO的版本信息ConnectionConnection对象的对象的modemode属性属性Mode参数整数值说明AdModeUnknown0未定义AdModeRead1只读AdModeWrite2只写AdModeReadWrite3读写u例子:u以上例子设置属性为只读,将不能对数据库进行添加、删除或更新记录。ConnectionConnection对象的对象的mo
15、demode属性(续)属性(续)ConnectionConnection对象的方法对象的方法方法说明Open建立与数据库的连接Close关闭与数据库的连接Execute执行数据库查询BeginTrans开始事务处理CommitTrans提交事务处理结果RollbackTrans取消事务处理结果Set Recordset对象=Connection对象.Excute(SQL字符串)或Connection对象.Excute(SQL字符串)ConnectionConnection对象常用方法详解对象常用方法详解Connection对象.BeginTransuOpen:打开连接uClose:关闭连接uE
16、xcute:执行数据库查询uBeginTrans:开始一个事务Db.open u连接数据库,建立Connection对象,address.mdb下面将建立利用利用ConnectionConnection对象存取数据库对象存取数据库strConn=DBQ=&Server.Mappath(address.mdb)&;Driver=Microsoft Access Driver(*.mdb)Set db=Server.CreateObject(ADODB.Connection)db.Open strConnstrSql=select*from users Set rs=db.Execute(strS
17、ql)Do While Not rs.Eof Response.Write rs(name)&rs.Movenext LoopstrSql=insert into users(name,tel,email)values”_”(李玫,888,)db.Execute(strSql)利用利用ConnectionConnection对象存取数据库(续)对象存取数据库(续)u查询记录,建立Recordset对象实例rsu添加记录strSql=update users set tel=66666666 where name=李玫db.Execute(strSql)strSql=delete from us
18、ers where name=李玫db.Execute(strSql)利用利用ConnectionConnection对象存取数据库(续)对象存取数据库(续)u更新记录,将李玫的电话号码改为66666666u删除记录,删除李玫的记录db.BeginTransIf db.Errors.Count=0 ThenDb.CommitTransElseDb.RollbackTransEnd If事务处理事务处理u开始事务处理u如果数据库执行成功则提交事务,如果有错误,则回滚事务CommandCommand对象对象u 建立Command对象 u Command对象的属性 u Command对象的方法 u
19、利用Command对象存取数据库 u 非参数查询 u 参数查询 u Parameter对象和Parameters集合 Set Command对象Server.CreateObject(“ADODB.Command”)Command对象.ActiveConnection=Connection对象建立建立CommandCommand对象对象u建立Command对象,语法如下u用ActiveConnection属性指定要用的Connection对象,语法:u建立对象的两种方法l通过Connection对象建立Command对象l直接建立Command对象Set db=Server.CreateObj
20、ect(“ADODB.Connection”)db.open“addr”addr是数据源Set cmd=Server.CreateObject(“ADODB.Command”)cmd.ActiveConnection=dbSet cmd=Server.CreateObject(“ADODB.Command”)cmd.ActiveConnection=“addr”建立建立CommandCommand对象举例对象举例u通过Connection对象建立Command对象u直接建立Command对象CommandCommand对象的常用属性对象的常用属性属 性说 明ActiveConnection指定
21、Connection连接对象CommandText指定数据库查询信息CommandType指定数据查询信息的类型CommandTimeoutCommand对象的Execute方法的最长执行时间Prepared指定数据查询信息是否要先行编译、存储00通过Connection对象操作数据库,语法为:Comman对象.ActiveConnection=Connection对象没有明确建立Connection对象,语法为:Command对象.ActiveConnection=数据源名称字符串Command对象.CommandText=SQL语句、表名、查询名或存储过程名CommandCommand对象
22、的常用属性详解对象的常用属性详解uActiveConnection:uCommandText,其值可以是SQL语句,还可是表名、查询名或存储过程名:Command对象.CommandType=类型值Command对象.Prepared=布尔值CommandCommand对象的常用属性详解对象的常用属性详解(续续)uCommandTimeout,默认为30秒,若为0,则永久等待,直至执行,下面设置为60秒:uCommandType,语法:uPrepared,语法:True表示先编译存储,False反之CommandType类型值类型值相应数值说明 adCmdUnknown-1CommandTex
23、t参数类型无法确定,需要程序本身去分析确定,减缓查询速度,是系统的默认值 adCmdText1SQL语句 adCmdTable2数据表名 adCmdStoreProc4查询名或存储过程名CommandCommand对象的常用属性详解对象的常用属性详解(续续)CommandCommand对象的方法对象的方法方法说明Execute执行数据库查询(可执行各种操作)CreateParameter用来创建一个Parameter子对象uCommand对象的常用方法:uExecute,语法有两种Set Recordset对象=Command对象.Execute或Command对象.ExecuteComman
24、dCommand对象的方法(续)对象的方法(续)方 法说 明number返回本次操作符合条件的记录总数Parameters该参数用来输入查询参数数组Options设定CommandType类型u CreateParameter:创造一个新的Parameter对象(参数对象),主要是进行参数查询的时候使用uCommand对象的Execute方法的参数:利用利用CommandCommand对象存取数据库对象存取数据库u 建立Connection对象strConn=DBQ=&Server.Mappath(address.mdb)&_;Driver=Microsoft Access Driver(*.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ASP 数据库 编程 存取
限制150内