一 引言
其实也没想说点啥,就说一下这文章的作用。我们前面已写了PC机的TCP网络通信程序,可以把开发板发出的数据接收到了,我们今天把MFC连接数据库说了,我们的数据采集与存储也就完成一大半了,但然今天我只讲数据库的连接,因为要讲完还需要用到别的知识点,也就是线程,也就是说我们这个程序完成的时候,就学会了MFC编程的三个重大要点(网络+数据库+线程),为什么要用到线程,在下一张节里我在说。
在这里我也将得不是太细,要深入学习的朋友,请查阅相关资料。
二 MFC连接数据库方法
MFC连接数据库有多种方法,可根据自己的喜好和熟悉成度来选,有通过ODBC、ADO等。后者理应方便一些。
不过今天我用前者-ODBC,这也不难的
三 什么是ODBC
开放数据库互连(Open Database Connectivity,ODBC)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。
四 用MFC打开数据库的方法
1.直接打开发
我们先建一个MFC工程,使用列表框和按纽构建如图1界面
图1
我们在OK按纽的事件中打开数据库。
在#include "connectDBDlg.h"中加入#include <afxdb.h>
void CConnectDBDlg::OnButton1()
{
CString strConnect;
strConnect.Format((_T("ODBC;DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)};UID
=;PWD=;DBQ=D:\\ sjcj.mdb")));
CDatabase db;
if(db.Open(NULL,false,false,strConnect,false))
{
…………………………..
}
db.Close();
}
2.间接打开
通过数据源来打开,打开控制面版管理工具数据源用户 DSN添加Microsoft Access Driver(*.mdb),出现如图2
图2
数据源名:我真sjcjDB,选择,选们之前建在D盘下的sjcj.mdb,确定
改写程序
void CConnectDBDlg::OnButton1()
{
CDatabase db;
if(db.Open(_T("sjcjDB"),false,false,_T("ODBC;"),false))
{
…………………………………
}
}