版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1目的与要求 了解当前数据库访问技术 掌握利用ADO进行数据库编程第1页/共17页2数据库访问技术简介 ODBC(Open Database Connectivity,开放式数据库连接),是一种用来在相关或不相关的数据库管理系统(DBMS)中存取数据的标准应用程序接口(API)。 DAO(Data Access Object,数据访问对象集),是Microsoft提供的基于一个数据库对象集合的访问技术。 ADO(ActiveX Data Object),是Microsoft为最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口。ADO 使您能够编写应用程序以通过
2、OLE.DB 提供者访问和操作数据库服务器中的数据。 第2页/共17页3ADO数据库编程模型 ADO对象模型:第3页/共17页4 ADO对象Connection对象:代表了同数据源的一个会话,在客户/服务器模型里,这个会话相当于同服务器的一次网络连接。借助于Connection对象的集合、方法和属性,可以使用Open和Close方法建立和释放一个数据源连接。使用Execute方法可以执行一个数据操作命令,使用BeginTrans、CommitTrans和RollbackTrans方法可以启动、提交和回滚一个处理事务。通过操作the Errors 集合可以获取和处理错误信息,操作CommandT
3、imeout属性可以设置连接的溢出时间,操作ConnectionString属性可以设置连接的字符串,操作Mode属性可以设置连接的模式,操作Provider属性可以指定OLE DB提供者。 第4页/共17页5Recordset对象:如果执行的命令是一个查询并返回存放在表中的结果集,这些结果集将被保存在本地的存储区里,Recordset对象是执行这种存储的ADO对象。通过Recordset对象可以操纵来自数据提供者的数据,包括修改和更新行、插入和删除行。 借助于Recordset对象的集合、方法和属性,可以通过设置CursorType属性设置记录集的光标类型,通过设置CursorLocatio
4、n属性可以指定光标位置,通过读取BOF 和EOF属性的值,获知当前光标在记录集里的位置是在最前或者最后,通过执行MoveFirst、MoveLast、MoveNext和MovePrevious 方法移动记录集里的光标,通过执行Update方法可以更新数据修改,通过执行AddNew方法可以执行行插入操作,通过执行Delete方法可以删除行。第5页/共17页6Command对象:是一个对数据源执行命令的定义,使用该对象可以查询数据库并返回一个Recordset对象,可以执行一个批量的数据操作,可以操作数据库的结构。不同的数据提供者提供的该对象的集合、方法和属性不同。借助于Command对象的集合、
5、方法和属性,可以使用Parameters集合制定命令的参数,可以使用Execute方法执行一个查询并将查询结果返回到一个Recordset对象里,操作CommandText属性可以为该对象指定一个命令的文本,操作CommandType属性可以指定命令的类型,操作Prepared可以得知数据提供者是否准备好命令的执行,操作CommandTimeout属性可以设置命令执行的溢出时间。第6页/共17页7 ADO数据库编程简要过程 (1) 创建一个Connection 对象。定义用于连接的字符串信息,包括数据源名称、用户ID、口令、连接超时、缺省数据库以及光标的位置。(2) 打开数据源,建立同数据源的
6、连接。(3) 执行一个SQL命令。一旦连接成功,就可以运行查询了。可以以异步方式运行查询,也可以异步地处理查询结果,ADO会通知提供者后台提供数据。这样可以让应用程序继续处理其它事情而不必等待。(4) 使用结果集。完成了查询以后,结果集就可以被应用程序使用了。在不同的光标类型下,可以在客户端或者服务器端浏览和修改行数据。(5) 终止连接。当完成了所有数据操作后,可以销毁这个同数据源的连接。 第7页/共17页8 C+对ADO的支持:_ConnectionPtr:指向ADO的Connect对象的指针。_RecordsetPtr:指向ADO的Recordset对象的指针。_CommandPtr:指向
7、ADO的Command对象的指针。 ADO库的引入#import “c:program filescommon filessystemadomsado15.dll ” no_namespace rename (“EOF”, “adoEOF”) 说明:msado15.dll的目录与操作系统安装有关。 COM库的初始化可以在CXXXApp:InitInstance中输入:AfxOleInit();或者调用COM库API初始化:CoInitialize和CoUninitialize;第8页/共17页9ADO数据库的连接 创建一个Connection对象_ConnectionPtr pConnecti
8、on;pConnection.CreateInstance(_uuidof(Connection);说明: _ConnectionPtr实际上就是一个智能指针,相当于CComQIPtr,_RecordsetPtr、_CommandPtr亦同。 打开与关闭数据库接pConnection-Open(ConnectionString, UserID, Password, Options ); pConnection-Close();第9页/共17页10 连接字符串1(1) Provider= Specifies the name of a provider to use for the connec
9、tion. (2) File Name= Specifies the name of a provider-specific file (for example, a persisted data source object) containing preset connection information. (3) Remote Provider= Specifies the name of a provider to use when opening a client-side connection. (Remote Data Service only.) (4) Remote Serve
10、r= Specifies the path name of the server to use when opening a client-side connection. (Remote Data Service only.)第10页/共17页11 连接字符串2(5) URL= Specifies the connection string as an absolute URL identifying a resource, such as a file or directory. 例如:“Provider=sqloledb;Data Source=srv;Initial Catalog=P
11、ubs;User Id=sa;Password=; ” “Provider=Microsoft.Jet.OLEDB.4.0; Data Source=advworks.mdb” “Driver=SQL Server;server=srv;uid=sa; pwd=pwd;database=Pubs”DSN=Pubs;UID=sa;PWD=; 第11页/共17页12ADO记录集的操作 创建一个Recordset对象_RecordsetPtr pRst;pRst.CreateInstance(_uuidof(Recordset);说明:记录集的创建也可以利用Connection.Execute执行S
12、QL语句来完成。 打开与关闭记录集pRst-Open(Source, ActiveConnection, CursorType, LockType, Options);pRst-Close();第12页/共17页13 添加记录pRst-AddNew();pRst-put_Collection(.);pRst-Update(); 修改记录pRst-Edit();pRst-put_Collection(.);pRst-Update(); 删除记录pRst-Delete();第13页/共17页14 遍历记录集pRst-MoveFirst(); pRst-MoveLast(); pRst-MoveNext(); pRst-MovePrevious();第14页/共17页15ADO命令行的执行 创建一个Command对象_CommandPtr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沈阳理工大学《激光器件与技术》2021-2022学年第一学期期末试卷
- 食品安全宣传主题班会
- 沈阳理工大学《工程爆破》2023-2024学年第一学期期末试卷
- 沈阳理工大学《传感器与检测技术》2023-2024学年第一学期期末试卷
- 国有企业买卖合同保证金管理办法
- 合同备案注销、更名申请书
- 昆明机场控制区通行证考试
- 2024-2025年度部编版八年级上册历史复习训练一
- 2024水泥采购运输合同
- 深圳矫正牙齿-口腔医院
- 医院感染风险评估表(适用于病房、换药室、治疗室、注射室)
- 超声引导下甲状腺结节细针穿刺技术
- 楼盘包销方案
- 《商务数据分析与应用》实训教学大纲
- 学术论文写作讲座课件
- 读后续写-My+New+Brother 高三英语作文复习专题+
- 新生儿NEC个案护理
- 美国总统大选与民主课件
- 高通量计算材料结构搜索
- 伤口疼痛管理减轻患者痛苦
- 汽车事故应急预案
评论
0/150
提交评论