- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
统一的数据访问接口.ppt
ODBC 简介;连接数据库的方式;ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。
一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是FoxPro、Access 、MYSQL还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。
;基本层次;应用程序要访问一个数据库,必须是在ODBC管理器注册了的数据源
ODBC管理器:该程序位于Windows 控制面板(Control Panel)的32位ODBC内,其主要任务是管理安装的ODBC驱动程序和管理数据源。
驱动程序管理器:驱动程序管理器包含在ODBC32.DLL中,对用户是透明的。其任务是管理ODBC驱动程序,是ODBC中最重要的部件。
ODBC API:ODBC编程接口,提供常用的类(CDatabase、CRecordset)、方法。
ODBC驱动程序:是一些DLL,提供了ODBC和数据库之间的接口
数据源:数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。
;;使用ODBC连接数据库[1-2];使用ODBC连接数据库[2-2];ODBC数据源设置[1-4];2.选择所要添加的数据源类型,选择后点击“完成”;3.配置Oracle ODBC驱动;4.配置完成,可以在ODBC数据源管理程序中看到新添加 Oracle数据源;使用Oracle ODBC driver;MFC 基类库定义了几个数据库类。在利用ODBC 编程时,经常要使用到:
CDatabase 类对象提供了对数据源的连接,通过它你可以对数据源进行操作。
CRecordSet 类对象提供了从数据源中提取出的记录集。
CRecordView 类对象能以控制的形式显示数据库记录。这个视图是直接连到一个CRecordSet 对象的表视图。;利用向导连接数据库[1-4];利用向导连接数据库[2-4];利用向导连接数据库[3-4];利用向导连接数据库[4-4];ODBC连接(不用向导)[1-2];;步骤[1];执行一个初始化查询.
rec.Open(AFX_DB_USE_DEFAULT_TYPE,_T(select * from employee));
5. 设置查询条件rec.m_strFilter=“ENAME=‘cjw;rec.m_strSort=“ENO;rec.Requery();对应的SQL语句为: select * from employee WHERE SNAME=电动机ORDER BY SNO;[3];[4];;1.增加记录使用rec.AddNew(); //在表的末尾增加新记录rec.SetFieldNull((rec- m_type), FALSE);rec.m_type= 电动机;... //输入新的字段值rec.Update(); //将新记录存入数据库rec.Requery(); //重建记录集
2.删除记录直接使用Delete() 函数,并且在调用Delete() 函数之后不需调用Update() 函数
3.修改记录 修改记录使用Edit() 函数:
m_pSet- Edit(); //修改当前记录m_pSet- m_type=发电机;m_pSet- Update(); //
m_pSet- Requery();
;4.关闭并释放空间rec.Close( );m_db.Close( );
SQL 语句的直接执行(CDatabase上):
如建立新表,删除表,建立新的字段等等
CDatabase::ExecuteSQL() 函数来完成SQL 语句的直接执行
如:;总结;Thank you!
文档评论(0)