数据库连接
一.数据库连接中的数据源配置
MFC中连接数据库的第一步应该设置好数据源,对于数据源的配置,可以有两种方式:手动配置和动态配置
1. 手动配置:也就是在进入编程前就将ODBC数据源配置好,比较简单(略)
2. 动态配置:对于用户来说,希望拿到一个软件后直接就可以使用而不用做其他的配置。因此,在程序开发的过程中,程序员应该替用户考虑将程序运行的一些外部配置集成到程序的代码中去,使用API函数SQLConfigDataSource()为我们提供了动态配置数据源的方法。
3. ACCESS数据库源的动态配置
::SQLConfigDataSource(NULL,ODBC_ADD_DSN,"Microsoft Access Driver (*.mdb)","DSN=spinfo1/0" //数据源名称
"Description=审批信息记录/0"//数据源描述
"DBQ=.//spinfo1.mdb/0"//数据库文件路径
);
4. SQL数据库数据源的动态配置
::SQLConfigDataSource(NULL,ODBC_ADD_DSN,"SQL Server",
"DSN=spinfo/0" //数据源名称
"Description=审批信息记录/0"//数据源描述
"Server=(local)/0"//本地服务器
"DataBase=spinfo/0"//默认数据库
);
5. 小结
两种数据库数据源的动态配置关键在于attribute中关键字的选择,对于SQL数据库,必不可少的是DSN、本地服务器(Server)和默认数据库(DataBase);对于Access数据库,由于数据库是以文件的形式存放,故必不可少的是DSN、和数据库文件路径(DBQ)。如果在程序中调试不成功的话,可以对照手工配置的方法查看自己是否有重要的关键字参数没有写入。
二。数据库连接
下面讨论两种不同数据库访问方式下的数据库连接方式:
1. ODBC方式访问数据库
ODBC方式访问数据库,连接数据库时利用CDataBase类提供的OpenEx函数典型的句型如下:
CDataBase m_db;
m_db.OpenEx("DSN=spinfo;UID=sa;PWD=",CDatabase::noOdbcDialog);
OpenEx函数的具体使用方法可以参考MSDN
需要注意的是一般我们在连接打开数据库、打开访问记录集等情况下需要用TRY 和CATCH来捕捉异常,这部分知识点将在以后的小结中给出。
2.ADO方式访问数据库
ADO访问数据库使用的是3个智能指针_ConnnectionPtr、_RecordsetPtr、_CommandPtr。_ConnectionPtr指针指向访问的Open函数可以用来打开连接数据库:
_ConnectionPtr pConn(__uuidof(Connection));
pConn->Open(ConnectionString,"","",adConnectUnspecified);
说明:ConnectionString相当于一个atrribute,指定了访问数据库的一些参数。同样,Open函数的具体使用方法可以参考MSDN。