Visual Studio 2013 VC++ 数据库的简单使用

写在开头.文章中的的内容不是自创,是参考别人的内容修改转化成自己容易理解的内容,做为学习的记录。


参考的地址有:http://blog.csdn.net/u012784288/article/details/51837826             http://blog.csdn.net/u012388338/article/details/39393105


下面是整理的内容


建立一个数据文件,

1. 我用的2010的office


2.填写自己的数据,然后保存。


建立对话框

1.  建立一个单个对话框,添加以下图的控件。


2.在头文件stdafx.h中添加下面语句来支持ADO的组件类型库,因为操作会有32/64位区分。


#include "UrlMon.h"              //下面的包含头文件也可以使用,没有去研究功能

 

//#include "Shlwapi.h"

 

//#include "ShObjIdl.h"

 

//#include "string.h"

 

 

#ifdef _UNICODE

#if defined_M_IX86

#pragma comment(linker,"/manifestdependency:\"type='win32'name='Microsoft.Windows.Common-Controls' version='6.0.0.0'processorArchitecture='x86' publicKeyToken='6595b64144ccf1df'language='*'\"")

#elif defined_M_X64

#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls'version='6.0.0.0' processorArchitecture='amd64'publicKeyToken='6595b64144ccf1df' language='*'\"")

#else

#pragma comment(linker,"/manifestdependency:\"type='win32'name='Microsoft.Windows.Common-Controls' version='6.0.0.0'processorArchitecture='*' publicKeyToken='6595b64144ccf1df'language='*'\"")

#endif

#import "c:\program files\commonfiles\system\ado\msado15.dll" \

no_namespace \

rename("EOF","adoEOF")      

//using namespace ADODB;


PS:如果stdafx.h加载出错,解决办法http://blog.csdn.net/lphbtm/article/details/50730807

3.切换到managetest.cpp中的BOOL CADOdataApp::InitInstance()函数中添加一下代码,用以初始化COM。

if(!AfxOleInit())
    {
        AfxMessageBox(_T("OLE初始化出错!"));
        return FALSE;
    }

4.在CADOdataDlg.h定义两个指针

    _ConnectionPtrm_pConnection;//ConnectionPtr用于打关闭个库连接或用Execute方法来执行一不返回果的命令

    _RecordsetPtrm_pRecordset;//_RecordsetPtr智能指,可以用开库内数据表,可以记录、字段等行各


5添加按键事件函数

 CString csSQLstr; 
    CString bookid;
    CString bookname;
     csSQLstr ="SELECT * FROM test";//test 为步骤一种数据库新建的表名。
   try                
    { 
       m_pConnection.CreateInstance(__uuidof(Connection));// 创建 ADO 连接
       m_pConnection->Open("Provider=Microsoft.ACE.OLEDB.12.0; DataSource= ADOdata.accdb","","",adModeUnknown);   
        //将数据库文件放在与代码文件相同的目录下,data source的赋值即可写成上面语句中的形式,ADOdata.accdb是文件名字,文件路径参考后面数据库文件添加介绍

       // 具体provider与 data source的值可参考http://blog.csdn.net/u012388338/article/details/39393105
    }
    catch(_com_error e)
    {
        AfxMessageBox(_T("数据库连接失败,确认数据库db.mdb是否在当前路径下!"));
        return;
    }
    m_pRecordset.CreateInstance(__uuidof(Recordset));
    try
    {
       m_pRecordset->Open((_bstr_t)csSQLstr,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);

        //打开一个记录集(test表),通过这个记录我们可以进行查询,插入,删除等操作。

    }
    catch(_com_error *e)
    {
        AfxMessageBox(e->ErrorMessage());
    }
    bookid=m_pRecordset->GetCollect("BookID");

       //得到test表中BookID的第一个值,这是由于打开数据集后,指针在这个记录集的开头,

        // 可以通过movefist,movelast,movenext操作移动指针位置,getcollect可以读取记录集中的信息。
    bookname = m_pRecordset->GetCollect("BookName");
    SetDlgItemText(IDC_BookID,bookid); //将得到的信息显示在文本框中
    SetDlgItemText(IDC_BookName,bookname); 
    m_pRecordset->Close();//关闭记录集
    m_pRecordset = NULL;
    m_pConnection->Close();//断开数据库连接
    m_pConnection= NULL;

6.然后创建好的数据文件放到和编程文件同目录


7.连接到数据库



点击连接测试


点击高级可以看到文件DataSorce和Provider的路径


然后点击确定,再点击服务管理器中选项会看到数据内容

 

最后运行程序效果图



  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值