Vc++(MFC)实现SQL Server的远程连接SQLOLEDB_第1页
Vc++(MFC)实现SQL Server的远程连接SQLOLEDB_第2页
Vc++(MFC)实现SQL Server的远程连接SQLOLEDB_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Vc+(MFC)实现SQL Server的远程连接(ADO实现)一、ADO概述ADO是Microsoft为最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口。ADO 使您能够编写应用程序以通过 OLE.DB 提供者访问和操作数据库服务器中的数据。ADO 最主要的优点是易于使用、速度快、内存支出少和磁盘遗迹小。ADO 在关键的应用方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接口。之所以称为 ADO,是用了一个比较熟悉的暗喻,OLE 自动化接口。二、利用ADO来实现对SQL Server的远程连接1、首先是引入ADO库文件使用ADO前必须在你的工程中的stdafx.h文件里直接引入符号#import引入ADO库。 具体方法如下: 在头文件下添加如下内容:#include #include #import C:program filescommon filessystemadomsado15.dll no_namespace rename(EOF, ADOEOF)这行语句声明在工程中使用ADO,但不使用ADO的名字空间,并且为了避免常数冲突,将常数EOF改名为ADOEOF。现在不需添加另外的头文件,就可以使用ADO接口了。2、初始化OLE/COM库环境在InitInstance()函数下面初始化OLE/COM库BOOL * :InitInstance()/下面是需要添加的代码:if (!AfxOleInit()/初始化OLE/COM库环境AfxMessageBox(OLE初始化出错!);return FALSE;.3、下面是连接数据库代码:定义_ConnectionPtr接口和_RecordsetPtr接口。如下:_ConnectionPtrm_pConnection;_RecordsetPtrm_pRecordset;实现代码:HRESULThr;tryhr = m_pConnection.CreateInstance(ADODB.Connection);if (SUCCEEDED(hr)/connect database_bstr_tstrConnect=Provider=SQLOLEDB.1;Initial Catalog=“数据库名称”;Data Source=远程IP;hr =m_pConnection-Open(strConnect,用户名,密码,adModeUnknown);AfxMessageBox(连接成功);catch(_com_error e)CStringerrormessage;errormessage.Format(连接数据库失败!rn错误信息:%s,e.ErrorMessage();AfxMessageBox(errormessage);return ;4、查询数据库信息:添加listctrl控件,并定义为m_list;在winfo表中查询id,name,ip信息。并初始化listctrl控件各列值:代码如下:m_list.InsertColumn(0,ID);m_list.InsertColumn(1,Name);m_list.InsertColumn(1,IP);CRect rect3;m_list.GetClientRect(rect3);m_list.SetColumnWidth(0,rect3.Width()/3);m_list.SetColumnWidth(1,rect3.Width()/3);m_list.SetColumnWidth(2,rect3.Width()/3);下面是查询实现代码:int intm;try_variant_tRecordsAffected;m_pRecordset =m_pConnection-Execute(SELECTid,name,ipfromwinfo,&RecordsAffected,adCmdText);while(!m_pRecordset-ADOEOF)_variant_tID, Name, IP;ID=m_pRecordset-GetCollect(id);Name=m_pRecordset-GetCollect(name);IP=m_pRecordset-GetCollect(ip);intm=m_list.InsertItem(0,(_bstr_t)ID);m_list.SetItem(intm,1,1,(_bstr_t)IP,NULL,0,0,0);m_list.SetItem(intm,2,1,(_bstr_t)Name,NULL,0,0,0);m_pRecordset-MoveNext();m_pRecordset-Close();catch (_com_error e)CString errormessage;errormessage.Format(查询失败!rn错误信息:%s,e.ErrorMessage();AfxMessageBox(errormessage);return ;通过上述语句将id ,name ,ip信息显示在listctr控件中。5、注意由于COM对象是跨平台的,它使用了一种通用的方法来

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论