第4章-ADO详解课件

上传人:风*** 文档编号:241845102 上传时间:2024-07-29 格式:PPT 页数:79 大小:328.07KB
返回 下载 相关 举报
第4章-ADO详解课件_第1页
第1页 / 共79页
第4章-ADO详解课件_第2页
第2页 / 共79页
第4章-ADO详解课件_第3页
第3页 / 共79页
点击查看更多>>
资源描述
第4章 ASP存取数据库 1.第4章 ASP存取数据库 1.4.1 数据库存取组件ADOASP提供了一个非常有用的内置的数据库存取组件,该组件利用ADO(Active Data Objects)技术来存取符合ODBC(Open Database Connectivity)标准的数据库。过去用CGI来存取数据库非常不容易,现在利用ADO技术就非常简单了。ActiveX Data Object可以提供Web页面与数据库结合的数据库技术。将传统的数据库后台管理模式放到Web页面上来进行。使数据库的存取更新更加简单、方便。2.4.1 数据库存取组件ADOASP提供了一个非常有用的内置的ADOADO对象主要是由Connection对象、Command对象、Parameter对象、Recordset对象、Field对象、Property对象、Error对象等七个对象,以及Fields数据集合、Properties数据集合、Parameters数据集合、Error数据集合等四个数据集合所组成。3.ADOADO对象主要是由Connection对象、Comma对象和数据集合间的关系4.对象和数据集合间的关系4.Connection:连接数据库(连接对象)Command:对数据库进行操作(命令对象)Recordset:对数据库中的记录进行操作对数据库进行操作时,先用Connection对象来建立与数据库的连接,然后用Command对象或Recordset对象来对数据库进行操作。5.Connection:连接数据库(连接对象)5.4.2 Connection对象一般需要明确建立Connection对象利用Command或Recordset对象直接连接数据库,则隐含建立Connection对象。一般用来建立和连接数据库,但也可以用来查询、添加、删除或修改记录。6.4.2 Connection对象一般需要明确建立Connec4.2 Connection对象4.2.1 建立Connection对象对数据库进行操作前,先要建立Connection对象。方法:l利用server对象的creatobject方法l7.4.2 Connection对象4.2.1 建立ConneConnection对象的方法:Open:建立Connection对象与数据库间的连接Close:关闭Connection对象Execute:执行对数据库的操作Begintrans:开始事务处理Committrans:提交处理结果Rollbacktrans:取消处理结果8.Connection对象的方法:Open:建立Connect一、open方法:(connection对象名)Db.open 参数参数:Dbq=数据库的物理路径 Driver=数据库的类型(驱动程序)Dsn=ODBC数据源(可省略)没有设置数据源时:Dim db,strConnSet db=Server.CreateObject(ADODB.Connection)strConn=DBQ=&Server.Mappath(address.mdb)&;Driver=Microsoft Access Driver(*.mdb)db.Open strConn 9.一、open方法:(connection对象名)Db.opeopen方法:设置数据源(addr)时:Dim dbSet db=Server.CreateObject(ADODB.Connection)db.Open“Dsn=addr”(db.open“addr”)优点:简单缺点:可移植性10.open方法:设置数据源(addr)时:10.二、close方法:当一个页面关闭时,connection对象会自动关闭11.二、close方法:Select语句:查询记录语法:lSelect 字段列表 From 数据表列表 Where 条件Order By 字段例子:lSelect name,URL,intro From link lSelect*From linklSelect*From link Where name=”新浪”lSelect*From link Order By link_id14.1 Select语句:查询记录语法:14.2 Insert语句:添加新记录语法如下:lInsert Into 表名(字段1,字段2,)Values(字段值1,字段值2,)例如:lInsert Into link(name,URL,intro)Values(“中国教育网”,”,”中国教育部网站”)15.2 Insert语句:添加新记录语法如下:15.3 Delete语句:删除记录语法比较简单:lDelete From 数据表名 Where 条件例如:lDelete From link Where name=”网易”16.3 Delete语句:删除记录语法比较简单:16.4 Update语句:修改记录语法如下:lUpdate 数据表名 Set 字段1字段值1,字段2字段值2,Where 条件例如:lUpdate link Set intro”非常棒的网站”Where name=”新浪”17.4 Update语句:修改记录语法如下:17.5Creat table:创建数据表语法:lCreat table 数据表名(字段1名称 字段1类型,字段2名称 字段2类型,)类型:lText:文本,long=255bytelChar(n):文本,long=nbytelMemo:备注,longCreat table:创建数据表语法:18.数据类型:Int:整数Data/Time:日期/时间,100-9999年Logical:逻辑,true/falseOleobject:Ole对象(数据库中链接或嵌入的对象,如:excel、word、图片、其他)Autonumber:自动编号19.数据类型:Int:整数19.例:Creat table lab1(name text,age int,birthday date,intro memo,flag logical)Creat table lab2(name text not NULL,age int,intro memo)l不允许name字段为空20.例:Creat table lab1(name text,a6Alter Table:修改数据表字段增加或减少一个字段Alter Table 数据表名 Add column 字段名 字段类型l增加一个字段Alter Table 数据表名 drop column 字段名l删除一个字段21.6Alter Table:修改数据表字段增加或减少一个字段7Drop Table:删除数据表Drop Table 数据表名Drop Table lab1Drop Table lab222.7Drop Table:删除数据表Drop Table 数4.2.3 Connection对象的属性:1、commandtimeoutl设置execute方法执行的最长时间30秒如果设置为0,无限制2、connectiontimeoutl设置open方法执行的最长时间15秒如果设置为0,无限制23.4.2.3 Connection对象的属性:1、commanConnection对象的属性:3、connectionstringl指定数据库链接信息,可用来打开数据库例:24.Connection对象的属性:3、connectionstConnection对象的属性:4、model设置连接数据库的权限lAdmoderead(1)只读lAdmodewrite(2)只写lAdmodereadwrite(3)可读写Dim dbSet db=Server.CreateObject(ADODB.Connection)Db.mode=1 Db.open25.Connection对象的属性:4、mode25.4.3 Command对象Command对象简介l又称命令对象,主要用来对数据库进行查询,并将查询结果存储在recordset对像中。lCommand对象使用时,要先创建connection对象,Command对象向数据库提出操作请求(通过SQL指令),并将结果返回给recordset对象。26.4.3 Command对象Command对象简介26.4.3 Command对象Command对象在实际开发中使用不多,但在利用参数查询方面十分有用。Command对象的参数查询:主要用来提高查询速度l例如:一个程序,经常要处理上百万条记录,速度就很重要。27.4.3 Command对象Command对象在实际开发中使用4.3.1建立Comand对象方法:l 28.4.3.1建立Comand对象方法:28.直接建立Command对象l 29.直接建立Command对象ActiveConnection指定Connection连接对象,表示该Command对象通过哪个Connection对象对数据库进行操作。语法:lCommand对象.activeconnection=connection对象l或(没有建立connection对象):lCommand对象.activeconnection=“数据源名称”31.1ActiveConnection指定Connectio2CommandText指定数据库查询信息查询、添加、删除、修改记录。语法:lCommand对象.commandtext=*l*:“SQL语句”“数据表名称”32.2CommandText指定数据库查询信息查询、添加3CommandType数据查询信息可以是lSQL语句、表名、查询名、存储过程名用于指定查询信息的类型语法:lCommand对象.CommandType=类型值33.3CommandType数据查询信息可以是33.CommandType示例34.CommandType示例CommandTimeout制定Command对象的Execute方法的最长执行时间:l默认30秒,若设置为0,则永久等待,直至执行。35.4CommandTimeout制定Command对象的Ex5Prepared指定数据查询信息是否要先行编译、存储。l如果是经常要使用的查询语句,将它编译、存储,第一遍执行时速度慢一些,下次再执行时,速度明显加快。语法:lCommand对象.prepared=true/falselTrue:表示需要先编译(以后运行速度快)36.5Prepared指定数据查询信息是否要先行编译、存储。4.3.3 Command对象的方法方法不多,但很重要l方法说明lExecute 执行数据库查询(与connection相似)lCreateParameter用来创建一个Parameter子对象37.4.3.3 Command对象的方法方法不多,但很重要37.一、Execute方法用来执行数据库查询l包括:查询记录、添加、删除、更新记录等。l与Connection对象的Execute方法功能相似。语法:lSet Recordset对象=Command对象.Executel或lCommand对象.Executel第一种方法返回一个Recordset对象,第二种方法不返回。l使用Execute之前,用CommandText指定数据库查询信息。38.一、Execute方法用来执行数据库查询38.示例-1%llSet cmd=Server.CreateObject(“ADODB.Command”)lCmd.ActiveConnection=dbl下面执行查询操作(SQL)lCmd.CommandText=“Select*From users”lCmd.CommandType=1指定命令类型lSet rs=cmd.Execute 39.示例-140.示例-2下面执行查询操作(数据表名)40.实例(1)说明:l用command对象实现与数据库的连接和操作。l所使用的数据库是当前目录下的address.mdbladdress.mdb中有name、tel、email、home、intro字段41.实例(1)说明:41.实例(1)-1%建立Connection对象Dim db,strConnstrConn=DBQ=&Server.Mappath(address.mdb)&;Driver=Microsoft Access Driver(*.mdb)Set db=Server.CreateObject(ADODB.Connection)db.Open strConn建立Command对象Dim cmdSet cmd=Server.CreateObject(ADODB.Command)cmd.ActiveConnection=db42.实例(1)-1%42.实例(1)-2 查询记录Dim rs,strSqlstrSql=Select*From userscmd.CommandText=strSqlSet rs=cmd.ExecuteDo While Not rs.Eof Response.Write rs(name)&rs.MovenextLoop 43.实例(1)-2 查询记录43.实例(1)-3添加记录strSql=insert into users(name,tel,email)values(李玫,88888888,)cmd.CommandText=strSqlcmd.Execute更新记录strSql=update users set tel=66666666 where name=李玫cmd.CommandText=strSqlcmd.Execute44.实例(1)-3添加记录44.实例(1)-4 删除记录,删除李玫的记录strSql=delete from users where name=李玫cmd.CommandText=strSqlcmd.Executedb.closeset db=nothing%45.实例(1)-4 删除记录,删除李玫的记录45.4.4 Recordset对象又称记录集对象,是最主要的对象。l执行删除、添加、修改记录操作时,可以不建立Recordset对象,而直接利用Connection或Command对象的Execute方法。l尽管Connection或Command对象可以完成几乎全部数据库操作,但有些操作必须利用Recordset对象才能完成;如:在Asp页面上实现分页显示功能。46.4.4 Recordset对象又称记录集对象,是最主要的对象4.4 Recordset对象就是用来返回一个记录集,该记录集包含所要查询的全部数据查询数据库前要先生成Recordset对象对数据库进行修改、添加、删除操作时,可以不需要用到Recordset对象,而直接用connection对象。但是,有时用Recordset对象更简便。47.4.4 Recordset对象就是用来返回一个记录集,该记录4.4.1 建立Recordset对象标准语法:lSet Recordset对象=Server.CreateObject(“ADODB.Recordset)一般情况下,应先建立connection、command对象,再来建立Recordset对象48.4.4.1 建立Recordset对象标准语法:48.4.4.1 建立Recordset对象打开数据库:Recordset对象.Open Source,ActiveConnection,CursorType,LockType,Options49.4.4.1 建立Recordset对象打开数据库:49.Recordset对象Open方法的参数参数说明SourceCommand对象名或SQL语句或数据表名ActiveConnectionConnection对象名或包含数据库连接信息的字符串CursorTypeRecordset对象记录中的指针类型LockTypeRecordset对象的使用类型OptionsSource类型50.Recordset对象Open方法的参数参数说明SourceRecordset对象Open方法的参数总体来说lSource是数据库查询信息;lActiveConnection是数据库连接信息;lCursorType是指针类型(游标类型);lLockType是锁定信息;lOptions是数据库查询信息类型;后三个参数在大多数情况下可以省略。在省略中间参数时,必须用逗号留出位置。l51.Recordset对象Open方法的参数总体来说51.Recordset对象建立方法一利用Connection对象的Excute方法l该方法最常用52.Recordset对象建立方法一利用Connection对象Recordset对象建立方法二利用Command对象的Execute方法l53.Recordset对象建立方法二利用Command对象的ExRecordset对象建立方法三利用Connection对象的Excute方法的另一种方式l54.Recordset对象建立方法三利用Connection对象Recordset对象建立方法四利用Command对象的Execute方法的另一种方式l这种方法明确建立三个对象,功能最强,也是最科学的方法。55.Recordset对象建立方法四利用Command对象的ExRecordset对象建立方法五不明确建立Connection和Command对象l该方法最简单,它还是隐含建立了一个Connection对象和一个Command对象。56.Recordset对象建立方法五不明确建立Connectio记录集的结构记录1记录2记录3记录NBOfEof后前当前记录记录指针57.记录集的结构记录1记录2记录3记录NBOfEof后前当前记4.4.2 Recordset对象的属性一、打开记录集的设置1Source:设置数据库查询信息lRecordset对象.source=*l*:command对象名、数据表名、SQL语句2Activeconnection:设置数据库连结信息lRecordset对象.Activeconnection=*l*:connection对象名、数据库连结信息字符串58.4.4.2 Recordset对象的属性一、打开记录集的设置Recordset对象的属性3Cursortype设置纪录指针类型lRecordset对象.cursortype=0(1、2、3)lP143 表6-124Locktype 设置纪录集锁定类型lRecordset对象.locktype=1(2、3、4)lP143 表6-1359.Recordset对象的属性3Cursortype设置纪Recordset对象的属性二、打开记录集后的一些操作1Recordcount纪录集中纪录总数lVar=Recordset对象.cursortype2Bof 纪录指针在纪录集开头?lVar=Recordset对象.Bofl是:Var=true否:Var=false3Eof 纪录指针在纪录集结尾?lVar=Recordset对象.Eofl是:Var=true否:Var=false60.Recordset对象的属性二、打开记录集后的一些操作60.Recordset对象的属性三、数据分页的一些功能1Pagesize设置分页显示时每页纪录数lRecordset对象.Pagesize=n2Pagecount设置分页显示时总页数lVar=Recordset对象.Pagecount3Absolutpage设置当前页面指针lRecordset对象.Absolutpage=m(mAbsolutposition设置当前纪录指针lRecordset对象.Absolutposition=m(m0向下移,0向上移65.Recordset对象的方法六、movenext纪录指针Recordset对象的方法九、addnew添加纪录lRecordset对象.addnew 字段名数组,字段值数组l如果只有一个字段lRecordset对象.addnew 字段名,字段值十、delete 删除当前纪录lRecordset对象.delete十一、resync让客户端纪录集与服务器同步更新lRecordset对象.resync参数l参数:P175 表9-2766.Recordset对象的方法九、addnew添加纪录66Recordset对象的方法十二、update 更新数据库数据lRecordset对象.update执行addnew、delete后必须执行update,才能真正更新数据库lRecordset对象.update 字段名,字段值直接更新当前纪录的某一字段的数值十三、cancelupdate取消刚才的更新lRecordset对象.canceluptate67.Recordset对象的方法十二、update更新数据库4.5 Fields数据集合和Field对象 Field对象代表使用普通数据类型的数据的列。前面介绍的Recordset对象,就包含有由Field对象组成的Fields集合,每个Field对象对应于Recordset中的一列。使用Field对象的Value属性可设置或返回当前记录的数据。68.4.5 Fields数据集合和Field对象 Fields数据集合与其它数据集合一样,都有属于自己的方法与属性,有时候也称为Field数据集合对象。Fields数据集合提供的方法和属性包括Count属性、Refresh方法、Item方法。Field对象属性包括Name、Value、Type、Attribute、NumericScale、Precision、ActualSize、DefinedSize、OriginalValue、UnderlyingValue等属性。方法包括GetChunk、AppendChunk等。69.Fields数据集合与其它数据集合一样,都有Field对象的用法70.Field对象的用法%70.Field对象的用法常用属性举例l 71.Field对象的用法常用属性举例71.4.6 Properies数据集合和Property对象 Property 对象代表由提供者定义的ADO对象的动态特征,动态属性由基本的数据提供者定义,并出现在相应的ADO对象(如Connect对象、Command对象、Field对象、Recordset对象)的Properties集合中。语法如下:Set properties=ADO对象.Properties72.4.6 Properies数据集合和Property对象 Properties集合是包含特定对象实例的所有 Property 对象,有时候也称为Properties数据集合对象。包括Count属性、Refresh方法、Item方法等。Property对象主要是用来记录相应ADO对象的每一项属性值,包括了Name属性、Value属性、Type属性、Attributes属性等。73.Properties集合是包含特定对象实例的4.7 Parameters数据集合与Parameter对象 在前面介绍Command对象时,知道Command对象可以通过Parameter对象来传递一个参数,而Parameters数据集合则是Command对象所有Parameter对象的集合。也可以说,Parameter对象是代表与基于参数化查询或存储过程的Command对象相关联的参数或自变量。74.4.7 Parameters数据集合与Parameter对 Parameters集合是由Parameter对象组成的。该集合包括Count属性、Append方法、Delete方法、Refresh方法、Item方法。Parameter对象负责记录程序中要传递参数的相关属性,Parameter对象提供了Name属性、Value属性、Type属性、Attribute属性等。75.Parameters集合是由Paramete4.8 Errors数据集合和Error对象 在ADO关系图中,知道通过Errors数据集合,取得系统运行时发生的错误或警告信息,从而使程序更加完善。任何涉及ADO对象的操作都会生成一个或多个提供者错误。每个错误出现时,一个或多个Error对象将被放到Connection对象的Errors集合中。76.4.8 Errors数据集合和Error对象 如果是通过直接建立Connection对象来使 用,可 以 直 接 通 过 Connection对 象 的Errors数据集合取得Error对象。如果是通过建立Recordset对象或Command对象,在通过ActiveConnection属性来使用Connection对象 时,则 必 须 通 过 Recordset对 象 或Command对象的ActiveConnection属性来取得Error对象。语法如下:Set Err=Connection.ErrorsSet Err=Recordset.ActiveConnection.ErrorsSet Err=Command.ActiveConnection.Errors77.如果是通过直接建立Connection对象来 Errors数据集合,也称Errors数据集合对象,包含在响应涉及提供者的单个失败时产生的所有Error对象。包括Count属性、Clear方法、Item方法。Error对象是负责记录存储一个系统运行时发生的错误或警告。Error对象提供了Desription、Number、Source、NativeError、SQLState、HelpContext、HelpFile等属性。78.Errors数据集合,也称Errors数据集作业P157 1,279.作业P157 1,279.
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


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

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


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