文档章节

MFC ODBC数据库开发技术

来来叔叔
 来来叔叔
发布于 2017/08/04 23:57
字数 513
阅读 6
收藏 0
 

1.MFC ODBC 主要类的介绍

       visual c++提供了MFC ODBC 类,封装了ODBC API,这使得利用MFC来创建ODBC的应用程序非常简便。在MFC ODBC类中,常用的类有CDatabase(数据库类)、CRecordset(记录集类)、CRecordView(可视记录集类)和CDBException(异常类)。

       CDatabase:用来建立和数据库数据源的连接,通过它可以对数据库进行操作。如使用ExecuteSQL函数实现记录的添加、修改和删除。

       CRecordset:代表一个从数据源中获取的记录集。分为动态集(dynaset)和快照集(snapshot)。快照集提供对数据的静态访问,就像对数据源的某些数据进行拍照一样,是静态的数据,其它用户对数据源中数据进行添加、修改和删除时,快照集中的记录不受影响,只有在调用了CRcordset的Requery函数重新查询时,快照集才会发生变化。动态集提供了对数据的动态访问,和其它用户所做的更改保持同步。主要使用CRecordset类的Open函数从数据源中提取记录集,进行记录的查询。

       CRecordView:提供了一个表单视图来显示和操作记录集,它派生于CFormView类,同时绑定了一个记录集,因而可以方便地显示、修改、添加和删除记录。

       CDBExecption:处理MFC ODBC类在操作数据库时发生的异常。

2.数据库的连接

    在使用MFC ODBC进行数据库开发时,需要引入MFC ODBC数据库类的头文件,在stdafx.h中

#include<afxdb.h>

首先定义一个CDatabase对象,然后利用CDatabase类的OpenEx函数来建立与数据源的连接。

CDatabase m_db;

virtual BOOL OpenEx( LPCTSTR lpszConnectString, DWORD dwOptions = 0 );
throw( CDBException, CMemoryException );

其中lpszConnectString是连接字符串,包括数据源名,用户名和用户密码,格式为DSN=SQLServer_Source;UID=user;PWD=user_pwd。

例:连接数据库,

         m_db.OpenEx("DSN=test;UID=sa;PWD=",CDatabase::noOdbcDialog);

其中省去了处理异常的代码。

© 著作权归作者所有

来来叔叔
粉丝 0
博文 100
码字总数 55732
作品 0
广州
高级程序员
私信 提问
数据库开发——各类DB的概念关系

1、客户服务器:信息被传播到“哑终端”与大型主机交流 网络使得客户机与服务器共享信息,引发客户服务器计算过程。 2、OLE DB、ODBC、ADO的关系: OLE DB:对象链接和嵌入数据库。 ADO:Act...

徐燕
2011/04/15
274
0
【外资美企】【SAS Access Developer】【20w-40w】

公司性质:做数据开发, 数据挖掘 外资美企 职位: SAS Access Developer 数据库开发工程师 要求:c/c++底层开发本科5年以上工作经验 硕士3年以上也可以,做c/c++十年左右没有底层经验的也可...

叶锋
2012/05/03
1K
20
使用MFC实现数据库信息显示和增删改查

【业务需求】 一、功能需求 1、根据提供的UI原型设计界面,界面种类主要是两类界面,一类是检索信息的主界面(TreeCtrl+ListCtl),另一类是检索的详细信息展现页面(Edit、时间控件)用于增...

yagerfgcs
2017/10/29
288
0
北京,美资外企,招聘 SAS Access Developer

北京,美资外企,招聘 SAS Access Developer 公司性质:主要是在做数据挖掘,数据开发的 这个职位:主要是在做数据库c/c++底层开发 工作地点:北京宣武门,是在研发中心上班 薪资:年薪在20w...

叶锋
2012/04/14
342
5
【猎头代招聘】【c/c++】【数据库底层开发】【最低学历本科以上】

公司性质:做数据开发,数据挖掘 职位:SAS Access Developer数据库开发工程师 要求:c/c++底层开发5年以上工作经验 年薪:20w左右--base(10k-15k)+补助(1000左右,每月都有)+福利(公基...

叶锋
2012/04/20
656
6

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 如果是个帅小伙你愿意和他出去吗

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 小小编辑推荐:《Ghost 》游戏《死亡搁浅》原声 《Ghost 》游戏(《死亡搁浅》原声) - Au/Ra / Alan Walker 手机党少年们想听歌,请使劲儿戳...

小小编辑
22分钟前
20
3
java通过ServerSocket与Socket实现通信

首先说一下ServerSocket与Socket. 1.ServerSocket ServerSocket是用来监听客户端Socket连接的类,如果没有连接会一直处于等待状态. ServetSocket有三个构造方法: (1) ServerSocket(int port);...

Blueeeeeee
今天
6
0
用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
5
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
16
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
19
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部