如何进行ADO连接ACCESS相关操作

***进行ADO连接ACCESS时会出现相关提示,把LPCSTR类型的字符串自动转换为CString。 除***步外,其余代码均添加在OnInitDialog()中,在网上找了很多资料,但因资料繁杂,版本很多,且连接方法有很多种,所以看着不方便,。#t#

成都创新互联长期为近1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为贡觉企业提供专业的成都网站建设、成都做网站贡觉网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。

新建一个对话框应用程序,建一个ACESS数据库命名为Demo.mdb,数据表名为Demo Table,数据表中记录的字段值分别为Name,Age..将此数据库放入刚才建的应用程序文件夹下。

1.在stdafx.h中加入
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")

2.在OnInitDialog()中初始化COM.
AfxOleInit();

3.创建Connection对象并连接数据库
首先声明一个_ConnectionPtr接口对象
_ConnectionPtr m_pConnection;

下面创建Connection对象实例及如何连接数据库并进行异常捕捉。

 
 
  1. m_pConnection.CreateInstance(__uuidof(Connection));
  2. try                 
  3. // 打开本地Access库Demo.mdb
  4. m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Demo.mdb","","",adModeUnknown);
  5. }
  6. catch(_com_error e)
  7. {
  8. AfxMessageBox("数据库连接失败,确认数据库Demo.mdb是否在当前路径下!");
  9. return FALSE;

4.利用_RecordsetPtr智能指针,来打开库内数据表,并对表内的记录、字段等进行各种操作。

 
 
  1. RecordsetPtr m_pRecordset;
  2. m_pRecordset.CreateInstance(__uuidof(Recordset));
  3. try
  4. {
  5. m_pRecordset->Open("SELECT * FROM DemoTable",                // 查询DemoTable表中所有字段
  6.        m_pConnection.GetInterfacePtr(), // 获取库接库的IDispatch指针
  7.        adOpenDynamic,
  8.        adLockOptimistic,
  9.        adCmdText);
  10. }
  11. catch(_com_error *e)
  12. {
  13. AfxMessageBox(e->ErrorMessage());
  14. }     

5.读取表内数据。将表内数据读出并显示在编辑框中.
首先在对话框上添加两个EDIT控件并添加变量m_name,m_age;添加代码如下:

 
 
  1. variant_t var; //_variant_t是一种通用数据类型,里面可以放不同类型的数据。
  2. var = m_pRecordset->GetCollect("Name");
  3. if(var.vt != VT_NULL)
  4.  m_name = (LPCSTR)_bstr_t(var);  
  5. var = m_pRecordset->GetCollect("Age");
  6. if(var.vt != VT_NULL)
  7. m_age = (LPCSTR)_bstr_t(var);
  8. UpdateData(false);

本文名称:如何进行ADO连接ACCESS相关操作
网页路径:http://www.shufengxianlan.com/qtweb/news5/68755.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联