VC++简单数据库编程(一)

来源:互联网 发布:中航控制卡软件 编辑:程序博客网 时间:2024/06/05 23:50

从我的好网博客转过来的,以后技术类的文章在这里安家了。

近日要做一个数据库操作的小程序,找了很多资料,终于解决了数据库连接的问题。

使用的是ADO技术:

首先要引入一个动态连接库:

#import "c:program filescommon filessystemadomsado15.dll" no_namespace rename("EOF","adoeof")

no_namespace的意思是不是用命名空间,rename("EOF","adoeof") 是将命名空间中的EOF用adoeof代替,因为现有程序中已经有了EOF。

初始化OLE:

AfxOleInit();

下来就是声明数据库连接变量了:

_ConnectionPtr conn;

创建Connection对象:

conn.CreateInstance(__uuidof( Connection));

声明数据库类型和所要用的驱动:

CString srouce;
            srouce="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=";
CString data;
            data=".databasedatabase.mdb";

调用open函数打开数据库:

conn->Open(_bstr_t(srouce+data),"","",NULL);

这样,数据库就成功的连接上了。

给个完整的代码:

#import "c:program filescommon filessystemadomsado15.dll" no_namespace rename("EOF","adoeof")

AfxOleInit();

_ConnectionPtr conn;

try{
   conn.CreateInstance(__uuidof( Connection));//创建Connection对象
   CString srouce;
   srouce="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=";
   CString data;
   data=".databasedatabase.mdb";
   conn->Open(_bstr_t(srouce+data),"","",NULL);///连接数据库
   }
  catch(_com_error e)///捕捉异常
   {
    conn=NULL;
    CString errormessage("连接数据库失败! 请检查数据库路径 ");
    AfxMessageBox(errormessage);///显示错误信息
    exit(1);
   }

随着程序的进展,我将在日志上逐步完善数据库操作的代码,希望大家批评指正

0 0