文档章节

MFC ODBC数据库开发技术

来来叔叔
 来来叔叔
发布于 2017/08/04 23:57
字数 513
阅读 3
收藏 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
广州
高级程序员
《Visual C++2010开发权威指南》版权输出台湾香港新加坡---大陆C++超越并引领台湾

CSDN著名技术专家著作-《Visual C++2010开发权威指南》版权输出台湾香港新加坡 大陆购买地址 http://product.china-pub.com/196957 台湾购买地址 http://www.iread.com.tw/ProdDetails.aspx...

junwong
2012/03/09
0
0
《Visual C++2010开发权威指南》版权输出台湾香港新加坡---大陆C++超越并引领台湾

CSDN著名技术专家著作-《Visual C++2010开发权威指南》版权输出台湾香港新加坡 大陆购买地址 http://product.china-pub.com/196957 台湾购买地址 http://www.iread.com.tw/ProdDetails.aspx...

junwong
2012/03/09
0
0
数据库开发——各类DB的概念关系

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

徐燕
2011/04/15
0
0
Linux C++、Boost、ACE ......

Linux/UNIX、C++、Boost、ACE、Shell ...... Linux/UNIX C++高级培训---远程班 培养目标:Linux/UNIX C++高级软件工程师 专注Linux/UNIX服务器端的软件开发(后台开发),培养企业所需的专业...

athxy
2010/04/01
0
1
CSDN回帖得分大全(近两年)

√ vs2005调用dll的时候Initialize()函数返回错误 [VC/MFC 基础类] √ 为什么我创建登陆框之后,然后获取登陆框的数据时候总是出现非法操作! [VC/MFC 界面] √ CFileFind::FindFile 支持通配...

junwong
2012/03/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

深入理解OAuth2.0协议

1. 引言 如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间。是否有好办法可以避免这个问题呢?有的,听说有一些豪车的车主就不担心这个问题。豪车一般配备两种钥匙:主钥匙和泊...

xtof
7分钟前
0
0
Linux学习-0920

3.4 usermod命令 3.5 用户密码管理 3.6 mkpasswd命令 一、usermode命令 usermode作用是用来修改用户信息。 方法: usermod 参数 username 示例1:修改用户uid usermod -u 1010 test5 示例2...

wxy丶
17分钟前
0
0
synchronized锁对象的坑

今天本来写点其他东西,碰巧写了一下synchronized,没想到掉坑里面了,大佬别笑。 起初代码大概是这样的: package com.ripplechan.part_1_2_3;import java.util.concurrent.CountDownL...

RippleChan
20分钟前
0
0
XAMPP环境搭建(Apache + MariaDB + PHP + Perl)

operation system:ubuntu-18.04.1 step1:download XAMPP #sudo wget https://www.apachefriends.org/xampp-files/7.2.9/xampp-linux-x64-7.2.9-0-installer.run step2:install XAMPP #sudo ......

硅谷课堂
22分钟前
0
0
关于获取3DS MAX中的蒙皮数据 3DSMAX C++API的应用

目的是为OSG做自定义的导出插件. 记录取得数据的方法. Max在代码中会提供一个INode对象. 从这个对象里取出各种数据. getSkin这个函数取出了ISkin修改器 下面这个函数一样是用于学习, 把数据输...

洛克人杰洛
29分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部