VS2010中MFC的ADO方式访问数据库.docxVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MFC里用ADO方式连接数据库1.在stdafx.h文件中添加如下代码#importc:\program files\common files\system\ado\msado15.dll \no_namespace \rename (EOF, adoEOF)用#import语句来引用支持ADO的组件类型库(*.tlb),其中类型库可以作为可执行程序(DLL、EXE等)的一部分被定位在其自身程序中的附属资源里,如:被定位在msado15.dll的附属资源中,其中路径名可以根据自己系统安装的ADO支持文件的路径来自行设定。当编译器遇到#import语句时,它会为引用组件类型库中的接口生成包装类,#import语句实际上相当于执行了API涵数LoadTypeLib()。#import语句会在工程可执行程序输出目录中产生两个文件,分别为*.tlh(类型库头文件)及*.tli(类型库实现文件),它们分别为每一个接口产生智能指针,并为各种接口方法、枚举类型,CLSID等进行声明,创建一系列包装方法。语句no_namespace说明ADO对象不使用命名空间,rename (EOF, adoEOF)说明将ADO中结束标志EOF改为adoEOF,以避免和其它库中命名相冲突。2.定义_ConnectionPtr变量调用Connection对象的Open方法建立与服务器的连接。UpdateData(true);//_ConnectionPtrm_pConnection;//声明一个Connection指针 HRESULT hr=m_pConnection.CreateInstance(ADODB.Connection);//创建Connection对象//定义初始化的连接参数CString strConnection=_T(Provider=SQLOLEDB;Server=(local);Database=);//服务器名称为localstrConnection+=m_datasource;//数据库名称strConnection+=;User ID=;strConnection+=m_user; //登陆名strConnection+=;Password=;strConnection+=m_password; //登陆密码//把CString转换为 _bstr_t型_bstr_tbstrSRC(strConnection);//用try。。。catch()来捕获错误信息try {m_pConnection-Open(bstrSRC,,,adModeUnknown);//打开我们的链接库MessageBox(_T(登陆成功!)); }catch(_com_error e) {MessageBox(e.Description(),_T(worring),MB_OK|MB_ICONINFORMATION); }这样就连接上了我的数据库。3. _RecordsetPtr智能指针,可以用来打开库内数据表,并可以对表内的记录、字段等进行各种操作。——打开数据表。打开库内表名为xs的数据表,代码如下:_RecordsetPtrm_pRecordset;_variant_tvar;CStringstrsql = _T(select * from xs);//具体执行的SQL语句m_pRecordset = m_pConnection-Execute(_bstr_t(strsql),NULL,adCmdText);//将查询数据导入m_pRecordset数据容器//读取并显示记录for(inti=0;i3;i++) {while(!m_pRecordset-adoEOF)//遍历列的记录 {var = m_pRecordset-GetCollect(xh);//获取当前记录指针所指的字段值CStringxh = (TCHAR*)(_bstr_t)var; //转换为CString型var = m_pRecordset-GetCollect(name);CString name = (TCHAR*)(_bstr_t)var;var = m_pRecordset-GetCollect(age);CString age = (TCHAR*)(_bstr_t)var;//显示到listCtrl中m_list.InsertItem(i,xh);m_list.SetItemText(i,1,name);m_list.SetItemText(i,2,age);//UpdateData(false);m_pRecordset-MoveNext();//移向下一条记录 } }在BOOL CADOTest1Dlg::OnInitDialog()中添加listCtr

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档