Access数据库连接

      最近,在做一个MFC的小任务,需要连接数据库对界面的信息进行一些保存,为了操作简单,选用了Access数据库,我电脑中安装的access2007,连接的代码查了下,如下:

         CoInitialize(NULL);  

       _ConnectionPtr pConn(__uuidof(Connection));
_RecordsetPtr pRst(__uuidof(Recordset));

        try

pConn.CreateInstance("ADODB.Connection");///创建Connection对象 
       pConn->Open((_bstr_t)"Provider=Microsoft.ACE.OLEDB.12.0;Data Source= e:\data.accdb" ,"","",adModeUnknown);///连接数据库

      }

        catch(_com_error &e)
{
// AfxMessageBox(e.Description());    
return -1;
}

      CString  strSql; //SQL的基本语句

        pRst=pConn->Execute(class _bstr_t(strSql),NULL,adCmdText);


       while(!pRst->rsEOF)
{  

     //获取表结构中的数据,但是数据类型是_variant_t(可以转换为其他类型),同时表数据获取时,也需要进行强制转换(_bstr_t)

             _variant_t    v = (_bstr_t)pRst->GetCollect("ID");   //变量v也可以转为其他类型

            pRst->MoveNext();

       }


pRst->Close();
  pConn->Close();
pRst.Release();
pConn.Release();
  CoUninitialize();

    在连接数据库的过程中,要注意的一点是,由于Access版本不一样,驱动可能不一样,这里选用的是Provider=Microsoft.ACE.OLEDB.12.0,当时由于驱动版本不对,造成获取数据一致失败了,可以先在网上查下对应access的驱动版本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值