第6章ASP数据库编程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第6章ASP数据库编程ASP存取数据库u学习连接数据库u实现查询、添加、删除和修改功能u了解ADO的几大对象及相互关系u学习各种事务处理和分页显示数据u学习连接SQLServer数据库的语句。目的与要求u熟练掌握连接数据库的两种方式u利用Select语句查询记录、Insert语句添加、Delete语句删除、Update语句修改记录u了解ADO的几大内部对象:Connection对象、Recordset对象、Command对象的概念和相互关系u会使用事务处理、会分页显示目的与要求(续)u连接SQLServer数据库的语句u了解ADO的几大内部对象:Connection对象、Recordset对象、Command对象的概念和相互关系u会使用事务处理、会分页显示u连接SQLServer数据库的语句重点难点u数据库连接和SQL语句的写法u利用execute方法和sql语句实现查询、添加、修改、删除u利用Connection对象、Recordset对象、Command对象实现数据库的深入操作,如分页显示等(难点)轻松统计网页访问次数计数器组件建立象书本的索引或目录一样的超链接Web页面文件超链接组件根据客户端浏览器类型送出正确的Web页面浏览器兼容组件轻松构建广告页面,维护、修改方便广告轮显组件用来存取文件,提供文件的输入输出方法文件存取组件用来存取数据库,是所有内置组件中最强大的数据库存取组件说明组件ASP内部组件概述u数据库存取组件简介:l数据库存取组件是使用ADO技术存取数据库的一种ASP内置组件,是ASP内置组件中最重要的和使用最多的一个组件。lADO包括三个主要对象是:Connection、Command和Recordsetu以下将以网络导航为例讲解l连接数据库、查询记录、添加记录、删除记录、修改记录利用数据库存取组件存取数据库数据库准备u在Access中建立数据库,存放在C:\inetpub\目录下,如图%Setdb=server.CreateObject(“ADODB.Connection”)Db.open “wlink” %连接数据库u连接数据库,要用到Connection对象,具体连接方法有两种:l第一种:利用数据源连接Ø特点:连接简单,但需要在服务器设置数据源Ø假设配置的数据源名字为wlink,则代码如下连接数据库%Setdb=server.CreateObject(“ADODB.Connection”)Db.open “dbq=c:\inetpub\”&_ “Driver={MicrosoftAccessDriver(*.mdb)}” %l不用数据源的连接方法Ø优点:方便在机器之间移植代码Ø代码举例(假设数据库与页面在同一目录下):连接数据库%Setdb=server.CreateObject(“ADODB.Connection”)Db.open “dbq=”&server.mappath(“”)&_ “;Driver={MicrosoftAccessDriver(*.mdb)}” %u对于第二种方法,还可采用Server对象的Mappath方法,修改为:利用select语句查询记录u查询时用Connection对象的Execute方法打开一个记录集u然后在记录集中移动记录指针依次显示所有记录l下面建立一个Connection对象实例db%setdb=Server.Createobject(ADODB.Connection)db.OpenDBQ=&Server.Mappath()&_;DRIVER={MicrosoftAccessDriver(*.mdb)};%dim strsql,rs strsql=select * from link order bylink_id desc     '按降序排列 set rs=db.Execute(strsql) 利用select语句查询记录(续)u建立Recordset对象实例rssetdb=Server.Createobject(ADODB.Connection)db.OpenDBQ=&Server.Mappath()&_;DRIVER={MicrosoftAccessDriver(*.mdb)};利用insert语句添加记录u添加记录,利用Connection对象的Execute方法,不必返回记录集。u连接数据库,建立一个Connection对象实例dbvarName=Request(name)varURL=Request(URL)varIntro=Request(intro)利用insert语句添加记录(续)u获取上个页面的插入信息StrSql=insertintolink(name,URL,intro,”&_ ”submit_date)values(‘&varName& “’,’&_varURL& “’,’&_varIntro& “’,’&Date()& “’)db.execute(strSql)利用insert语句添加记录(续)u插入Sql语句的写法u利用Execute方法,添加记录利用Delete删除记录u删除记录,利用Connection对象的Execute方法,不必返回记录集l连上数据库,建立一个Connection对象实例db set db=Server.Createobject(ADODB.Connection) db.OpenDBQ=&Server.Mappath()&_ ;DRIVER={Microsoft Access Driver (*.mdb)};varLink_id=Request.QueryString(link_id“)strSql=deletefromlinkwherelink_id=&varLink_id利用Delete删除记录(续)u利用Execute方法,删除记录u传过来的要删除的记录的记录编号u删除SQL语句的写法db.Execute(strSql)varLink_id=Request.QueryString(link_id)利用Update修改语句u修改记录,利用Connection对象的Execute方法。u获取传入的要修改的Link_IDset db=Server.Createobject(ADODB.Connection) db.OpenDBQ=&Server.Mappath()&_ ;DRIVER={Microsoft Access Driver (*.mdb)}; strSql=“select*fromlinkwherelink_id=” &varLink_id ‘varLink_id是传过来的setrs=db.Execute(strSql)利用Update修改语句(续)u连上数据库,建立一个Connection对象实例dbu建立Recordset对象实例rs深入进行数据库编程uADO的内部对象uConnection对象uCommand对象uRecordset对象u存取SQLServer对象u对多个表进行组合查询ADO的内部对象ADO的主要对象和功能说明用来得到从数据库返回的记录集Recordset用来对数据库执行命令,如查询、添加、删除、修改记录Command用来建立与数据库的连接Connection说明对象Connection对象u学习Connection对象的重点:l如何建立Connection对象lConnection对象的Execute方法l事务处理功能u注意事项l需明确建立Connection对象,不明确时将利用Command或Recordset对象直接连接数据库。这样无法利用Connection对象的许多功能lConnection对象一般用来连接数据库,也可用来查询、添加、删除或修改记录,但有一定局限性,如无法完成分页建立Connection对象u第一步:建立对象,语法如下:lSetConnection对象=Server.CreateObject(“ADODB.Connection”)u第二步:用open方法来打开连接,语法如下lConnection对象.open “参数1=参数1的值;参数2=参数2的值;……”说明:l参数不会都用到,如Access数据库就不用User和Passwordl连接方式不同,参数不同,如数据源用DSN,而不用数据源就用DBQ和Driverl多个参数之间用分号隔开,顺序无关系数据提供者Provider数据库的物理路径Dbq数据库类型(驱动程序)Driver数据库登录密码Password数据库登录帐号UserODBC数据源名称DSN说明参数Connection对象的Open方法的参数控制光标的类型CursorLocationOpen方法与数据库连接的执行最长时间ConnectionTimeout指定Connection对象的数据库连接信息ConnectionStringExecute方法的最长执行时间CommandTimeout设置Connection对象控制事务处理时的行为Attribute说明属性Connection对象的属性Connection对象的属性(续)显示ADO对象的版本信息Version设置Connection对象内定的数据库管理程序名称Provider指定数据库连接的权限Mode指定Connection对象的事务处理时机IsolationLevel指定Connection对象的缺省数据库名称DefaultDatabase说明属性%Db.ConnectionString=“Dbq=”&Server.mappath(“address.mdb”)&_ ”;Driver={MicrosoftAccessDriver(*.mdb)}” %Connection对象常用属性举例uCommandTimeout:默认值为30秒,如设定为0则无限制直到执行完毕。如设置最长时间为60秒:%db.CommandTimeout=60%,在服务器慢时使用uConnectionString:指定连接信息,如:Connection对象常用属性举例 %Response.write db.version% uConnectionTimeout:该属性默认值为15秒,如设定为0,则表示无限期等待直到Open方法完成为止。uDefaultDatabase:当数据提供者提供多个数据库时,用该属性设定默认数据库uVersion:显示ADO的版本信息Connection对象的mode属性读写3AdModeReadWrite只写2AdModeWrite只读1AdModeRead未定义0AdModeUnknown说明整数值Mode参数u例子:%Setdb=server.createObject(“ADODB.Connection”)Db.mode=1%u以上例子设置属性为只读,将不能对数据库进行添加、删除或更新记录。Connection对象的mode属性(续)Connection对象的方法取消事务处理结果RollbackTrans提交事务处理结果CommitTrans开始事务处理BeginTrans执行数据库查询Execute关闭与数据库的连接Close建立与数据库的连接Open说明方法%Db.closeSetdb=nothing%SetRecordset对象=Connection对象.Excute(SQL字符串)或Connection对象.Excute(SQL字符串)Connection对象常用方法详解Connection对象.BeginTransuOpen:打开连接uClose:关闭连接uExcute:执行数据库查询uBeginTrans:开始一个事务Db.openu连接数据库,建立Connection对象,address.mdb下面将建立利用Connection对象存取

1 / 89
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功