分享

VC中访问Access数据库的方法(不需要用户建立ODBC数据源)

 herowuking 2014-11-30
 

由于项目要发布一个单机版,原来用的数据库是大型数据库。需要在单机版中用Access比较方便,另外也不能让用户自己创建数据源,最终的方案就是在程序中直接访问(*.mdb)Access数据库文件,下面简要给出在VC6.0中的访问Access数据库文件的方法:
注:data.mdb数据库文件中有一个表(tperson),有一个字段(name)

 CString strSql;
 CString strName;
 CString strDriver = "MICROSOFT ACCESS DRIVER (*.mdb)";
 CString strDsn;
 CString strFile = "E:\\CurrentWork\\AccessTest\\data.mdb";
 strDsn.Format("ODBC;DRIVER={%s};UID=sa;PWD=;DBQ=%s",strDriver,strFile);
 TRY
 {

   CDatabase m_db;//加上这个定义,本来这个是一个类中的成员,暂时就放在这。
   m_db.Open(NULL,false,false,strDsn);
  CString strConnect = m_db.GetConnect();
  CRecordset rs(&m_db);
  strSql = "select * from tperson";
  rs.Open(CRecordset::forwardOnly,strSql,CRecordset::readOnly);
  while(!rs.IsEOF())
  {
   rs.GetFieldValue("name",strName);//读取数据库内容的代码
   rs.MoveNext();
  }
  m_db.Close();
 }
 CATCH(CDBException,e)
 {
  AfxMessageBox("Database Error:" + e->m_strError);
 }
 END_CATCH;
其中最关键的地方也就是strDSN这个字符串的内容要正确。


 





























    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多