C++操作SQL Server 2005数据库的动态库的创建及调用.docxVIP

C++操作SQL Server 2005数据库的动态库的创建及调用.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C操作SQLServer2005数据库的动态库的创建及调用

C++操作SQL Server 2005数据库的动态库的创建及调用第一步:创建C++动态链接库文件打开VC++6.0,选择Win32 Dynamic-Link Library,填好工程名,建立一个空的DLL工程。建立后缀为.cpp C++ Source File和对应的.h C/C++ Header File文件。在相应的文件中添加所需要的函数代码。第二步:导入链接数据库所需的动态库msado15.dll在头文件.h中添加一行代码(可以在#include前面添加)#import c:Program Files\Common Files\System\ado\msado15.dll no_namespace rename(EOF,adoEOF)这行代码就是导入msado15.dll动态链接库的,里面包含了链接数据库的一些类,最重要的就是三个操作句柄,_ConnectionPtr、_CommandPtr和_RecordsetPtr。用这三个类定义三个对象m_pConnect、m_pRecordset、m_pCommand。定义三个操作对象_ConnectionPtrm_pConnect;//定义链接对象_CommandPtrm_pCommand;//定义命令对象_RecordsetPtrm_pRecordset;//定义记录集对象第三步:实现各种功能的函数链接数据库的函数//初始化COM库和链接数据库__declspec(dllexport) void OnInitADOConn(_bstr_tstrConnect){::CoInitialize(NULL);try{//对象实例化m_pConnect.CreateInstance(__uuidof(Connection));m_pConnect-Open(strConnect,,,adModeUnknown);//建立链接MessageBox(NULL,链接成功!,提示,0);}catch(_com_error e){MessageBox(NULL,e.Description(),error,0);}}注释:__declspec(dllexport)表示此函数的动态库导出函数,一般动态库里面的函数都要在函数前面加上这个。_bstr_t 是动态库msado15.dll中的一个类,参数strConnect是链接数据库所需要的字符串,可以有几种形式第一种:_bstr_tstrConnect=”Driver={SQL Server};Server=10.0.0.44;Database=test;uid=sa;pwd=111111”;第二种:_bstr_tstrConnect =“Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=test;Data Source=zyz”;Server 是服务器IP地址或者本地电脑的名字(可右击我的电脑,在属性中查看)Database是数据库的名字;uid是登陆数据库的用户名;pwd是登陆密码;相关函数的参数和功能可自行在网上查阅资料,很简单的。获取记录集函数//获取记录集__declspec(dllexport) _RecordsetPtr GetRecordSet(_bstr_tbstrSQL,_bstr_tstrConnect){try{// 连接数据库,如果Connection对象为空,则重新连接数据库if(m_pConnect == NULL)OnInitADOConn(strConnect);//对象实例化m_pRecord.CreateInstance(__uuidof(Recordset));m_pRecord-Open(bstrSQL,m_pConnect.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);MessageBox(NULL,成功获取记录集!,提示,0);}catch(_com_error e){MessageBox(NULL,e.Description(),error,0);}returnm_pRecord;}执行命令对象//执行命令对象__declspec(dllexport) _RecordsetPtr ExeCommand(_bstr_tbstrSQL,_bstr_tstrConnect){try{// 连接数据库,如果Connection对象为空,则重新连接数据库if(m_pConnect == NULL)OnInitADOConn(strConnect);m_pCommand.CreateInstance(__uuidof(Command));

文档评论(0)

xxj1658888 + 关注
实名认证
文档贡献者

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档