1.引入ADO
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")

2.创建连接数据库类(两个指针及四个成员函数)

  1. class CADOConn
  2. {
  3. public:
  4. CADOConn();
  5. virtual ~CADOConn();
  6.  
  7. _ConnectionPtr m_pConnection; //对象智能指针连接操作数据库
  8. _RecordsetPtr m_pRecordPtr; //Recordset对象指针(记录集)
  9.  
  10. //初始化连接数据库,执行查询,执行SQL语句,断开连接
  11. void OnInitDBConnect();
  12. _RecordsetPtr &GetRecordSet(_bstr_t bstrSQL);
  13. BOOL ExecuteSQL(_bstr_t bstrSQL);
  14. void ExitConnect();
  15.  
  16. };

  

3.四个成员函数实现

  1. void CADOConn::OnInitDBConnect()
  2. {
  3. ::CoInitialize(NULL); //初始化OLE/COM库环境
  4. try
  5. {
  6. //创建connection对象
  7. m_pConnection.CreateInstance("ADODB.Connection");
  8. //设置连接字符串
  9. _bstr_t strConnect="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=自己数据库填写处;Data Source=.";
  10. //SERVER和UID,PWD的设置根据实际情况来设置
  11. m_pConnection->Open(strConnect,"","",adModeUnknown);
  12. }
  13. catch(_com_error e)
  14. {
  15. AfxMessageBox(e.Description()); //显示错误信息
  16. }
  17. }
  18.  
  19. _RecordsetPtr & CADOConn::GetRecordSet(_bstr_t bstrSQL)
  20. {
  21. try
  22. {
  23. if(m_pConnection==NULL) //连接对象不存在
  24. OnInitDBConnect(); //重新连接
  25. m_pRecordPtr.CreateInstance(_uuidof(Recordset)); //创建记录集对象
  26. //执行查询,等到记录集
  27. m_pRecordPtr->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
  28. }
  29. catch(_com_error e) //捕捉异常
  30. {
  31. AfxMessageBox(e.Description()); //显示错误信息
  32. }
  33. return m_pRecordPtr; //返回记录集
  34. }
  35.  
  36. BOOL CADOConn::ExecuteSQL(_bstr_t bstrSQL)
  37. {
  38. try
  39. {
  40. if(m_pConnection==NULL)
  41. OnInitDBConnect();
  42. m_pConnection->Execute(bstrSQL,NULL,adCmdText);
  43. return true;
  44. }
  45. catch (_com_error e)
  46. {
  47. AfxMessageBox(e.Description());
  48. return false;
  49. }
  50. }
  51.  
  52. void CADOConn::ExitConnect()
  53. {
  54. if(m_pConnection!=NULL)
  55. {
  56. m_pRecordPtr->Close();
  57. m_pConnection->Close();
  58. }
  59. ::CoUninitialize();
  60. }

  

链接:https://pan.baidu.com/s/1v5gm7n0L7TGyejCmQrMh2g 提取码:x2p5

免费分享,但是X度限制严重,如若链接失效点击链接或搜索加群 群号744933466

C++连接SQL的更多相关文章

  1. Unity3d连接SQL Server数据库出现SocketException: 使用了与请求的协议不兼容的地址错误

    这两天,同学问我Unity3d连接SQL Server的问题,当时我只是简单的说:“应该一样吧,就是那简单的几句啊”.之后他让我试了下,我才发现有问题了.故此写下一篇博客,要牢记这件事的教训,操作数据 ...

  2. delphi连接sql存储过程

    针对返回结果为参数的 一. 先建立自己的存储过程 ALTER PROCEDURE [dbo].[REName] ) AS BEGIN select ROW_NUMBER() over(order by ...

  3. vbs连接sql server及写文件操作

    此段代码是连接SQL SERVER的 代码内connMMSQL的参数要根据实际情况传入 Function connMMSQL(ip,user,pwd,database,strsql) Dim conn ...

  4. python 使用pymssql连接sql server数据库

    python 使用pymssql连接sql server数据库   #coding=utf-8 #!/usr/bin/env python#------------------------------ ...

  5. NetBeans连接SQL server数据库教程

    不废话,直接开始 1.下载sqljdbc.jar 可以从微软中国官方网站下载 SQLJDBC微软中国 笔者提供一个网盘链接Sqljdbc.jar 4个压缩包视版本选择,SQL 2012 用sqljdb ...

  6. JDBC连接SQL Server代码模板

    *                  JDBC连接SQL Server数据库 代码模板* Connection: 连接数据库并担任传送数据的任务:* Statement :  执行SQL语句:* Re ...

  7. FireDAC 连接SQL Server一些要注意的地方

    TFDConnection: FetchOptions.Mode 设置为fmAll, 返回全部结果, 否则默认只返回前50条, 效果与open以后再执行FetchAll一样 Specifies how ...

  8. 【转】PowerShell 连接SQL Server 数据库 - ADO.NET

    转至:http://www.pstips.net/connect-sql-database.html PowerShell 通过ADO.NET连接SQL Server数据库,并执行SQL脚本.工作中整 ...

  9. PowerShell 连接SQL

    因为对SQL操作比较多,但有些操作其实都是重复性的,只是参数不太一样了,例如silo id, server name 等.希望可以通过powershell脚本提高效率. 尝试如下 1. 使用Power ...

  10. PHP5.6.15连接Sql Server 2008配置方案

    php5.6的如果想连接Sql Server 2008数据库,需要手动配置扩展和安装一个驱动. 下载SQL Server Driver for PHP的扩展包,64位系统的官方不支持,找到一个非官方的 ...

随机推荐

  1. 彻底抛弃 jQuery ,不然还留着过年?

    我以前很喜欢 jQuery,而且说实话,我是先学jQuery,再学 JavaScript 的.所以我写这篇文章有点像是在背叛 jQuery. 我知道,关于为什么不应该用 jQuery 的文章已经汗牛充 ...

  2. 易语言 MD5生成

    下载MD5脚本 https://download.csdn.net/download/zhangxuechao_/10573121 添加脚本组件 定义常量 生成MD5

  3. wc.exe个人项目

    1.GitHub项目 https://github.com/Littlehui3/wc 2.用时表格 PSP2.1 任务内容 计划完成需要的时间(min) 实际完成需要的时间(min) Plannin ...

  4. Fundebug 微信小程 BUG 监控插件更新至 1.2.1,优化错误上报次数的限制算法,新增 silentHttpHeader 配置选项

    摘要: 1.2.1优化错误上报次数的限制算法,新增silentHttpHeader配置选项,请大家及时更新哈! Fundebug提供专业的微信小程序 BUG 监控服务,可以第一时间为您捕获生存环境中小 ...

  5. Java多线程上下文切换

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10843676.html 一:什么是上下文切换 CPU处理任务时不是一直只处理一个,而是通过给每个线程分配CP ...

  6. 201871010126 王亚涛 《面向对象程序设计(java)》 第四周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...

  7. 使用msRequestFullscreen全屏在IE 11无效

    问题产生原因:项目需要实现百度地图全屏的功能, 通过github上http://robnyman.github.io/fullscreen/这个demo初步实现在这个功能,在谷歌上也完美运行,而在ie ...

  8. java注释代码规范

    //收集了一小部分,忘记的时候过来查一下 java--hadoop部分 /** * 此类用来处理DNS原始日志:统计给定域名平均响应时延 * @param Input * @param Output ...

  9. Asp.Net微信js分享

    1.准备工作 官方文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#111 必须是认证过的公众号才 ...

  10. three.js 加载STL文件

    注意: TrackballControls.js 和 TDSLoader.js 都引用了 three.module.js,特别注意引用的路径 比如: 直接代码咯 <!DOCTYPE html&g ...