Vc++(MFC)实现SQL Server的远程连接SQLOLEDB.doc

Vc++(MFC)实现SQL Server的远程连接SQLOLEDB.doc

ID:20499037

大小:32.50 KB

页数:3页

时间:2018-10-11

Vc++(MFC)实现SQL Server的远程连接SQLOLEDB.doc_第1页
Vc++(MFC)实现SQL Server的远程连接SQLOLEDB.doc_第2页
Vc++(MFC)实现SQL Server的远程连接SQLOLEDB.doc_第3页
资源描述:

《Vc++(MFC)实现SQL Server的远程连接SQLOLEDB.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Vc++(MFC)实现SQLServer的远程连接(ADO实现)一、ADO概述       ADO是Microsoft为最新和最强大的数据访问范例OLEDB而设计的,是一个便于使用的应用程序层接口。ADO使您能够编写应用程序以通过OLE.DB提供者访问和操作数据库服务器中的数据。ADO最主要的优点是易于使用、速度快、内存支出少和磁盘遗迹小。ADO在关键的应用方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接口。之所以称为ADO,是用了一个比较熟悉的暗喻,OLE自动化接口。二、利用ADO来实

2、现对SQLServer的远程连接1、首先是引入ADO库文件      使用ADO前必须在你的工程中的stdafx.h文件里直接引入符号#import引入ADO库。具体方法如下:在头文件下添加如下内容:#include#include#import"C:programfilescommonfilessystemadomsado15.dll"         no_namespacerename("EOF","ADOEOF")     这行语句声明在工程中使用ADO,但不使用ADO的名字空

3、间,并且为了避免常数冲突,将常数EOF改名为"ADOEOF"。现在不需添加另外的头文件,就可以使用ADO接口了。2、初始化OLE/COM库环境   在InitInstance()函数下面初始化OLE/COM库BOOL******::InitInstance(){       //下面是需要添加的代码:     if(!AfxOleInit())//初始化OLE/COM库环境           {        AfxMessageBox("OLE初始化出错!");         returnFALSE;    }      .....

4、...........}3、下面是连接数据库代码:定义_ConnectionPtr接口和_RecordsetPtr接口。如下:_ConnectionPtr m_pConnection; _RecordsetPtr m_pRecordset;实现代码:HRESULT hr;try{   hr=m_pConnection.CreateInstance("ADODB.Connection");   if(SUCCEEDED(hr))   {             //connectdatabase      _bstr_t strConnec

5、t="Provider=SQLOLEDB.1;InitialCatalog=“数据库名称”;DataSource=远程IP";          hr= m_pConnection->Open(strConnect,"用户名","密码",adModeUnknown);    AfxMessageBox("连接成功");   }  }catch (_com_errore){  CString errormessage;   errormessage.Format("连接数据库失败!r错误信息:%s",e.ErrorMessage())

6、;   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");CRectrect3;m_list.GetClientRect(rect3);m_list.SetColumnWidth(0

7、,rect3.Width()/3);m_list.SetColumnWidth(1,rect3.Width()/3);m_list.SetColumnWidth(2,rect3.Width()/3);下面是查询实现代码:intintm;try{   _variant_t RecordsAffected;    m_pRecordset= m_pConnection->Execute("SELECT id,name,ip from   winfo",&RecordsAffected,adCmdText);    while(!m_pReco

8、rdset->ADOEOF)   {   _variant_t ID,Name,IP;    ID= m_pRecordset->GetCollect("id");    Name=m_pRe

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。