代码如下:

  1. // ReadSqlConsole.cpp: 主项目文件。
  2.  
  3. #include "stdafx.h"
  4. #include <iostream>
  5. #include<iostream>
  6. #include<iomanip>//for setw()
  7. #include"windows.h"
  8.  
  9. #import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","EndOfFile")
  10.  
  11. using namespace System;
  12. using namespace std;
  13.  
  14. int main(array<System::String ^> ^args)
  15. {
  16. ::CoInitialize(NULL);
  17.  
  18. //类型在msado15.dll中已定义
  19. _RecordsetPtr m_pRecordset("ADODB.Recordset");
  20. _ConnectionPtr m_pConnection("ADODB.Connection");
  21.  
  22. _bstr_t bstrSQL("select * from er_order where pactnumber like '13010000%' order by pactnumber"); //对应的sql语句
  23.  
  24. try
  25. {
  26. clog << "正在连接数据库..." << endl;
  27. m_pConnection.CreateInstance("ADODB.Connection");//创建Connection对象
  28. //设置连接字符串,必须是BSTR型或者_bstr_t类型
  29. _bstr_t strConnect = "Provider=SQLOLEDB; Server=【数据库实例】;Database=【数据库名】; uid=【数据库用户】; pwd=【密码】;";
  30. m_pConnection->Open(strConnect, "", "", adModeUnknown);//服务器连接
  31.  
  32. if (m_pConnection == NULL)
  33. {
  34. std::cerr << "Lind data ERROR!\n";
  35. }
  36.  
  37. m_pRecordset.CreateInstance(__uuidof(Recordset));//创建记录集对象
  38.  
  39. //取得表中的记录
  40. m_pRecordset->Open(bstrSQL, m_pConnection.GetInterfacePtr(), adOpenDynamic, adLockOptimistic, adCmdText);
  41.  
  42. _variant_t PactNumber, OrigCount;//对应库中的字段
  43.  
  44. cout << "--------------合同清单--------------" << endl;
  45. while (!m_pRecordset->EndOfFile)
  46. {
  47. PactNumber = m_pRecordset->GetCollect("Pactnumber");
  48. OrigCount = m_pRecordset->GetCollect("Origcount");
  49. cout << "合同号:" << setw() << (char*)(_bstr_t)PactNumber;
  50. cout << " 签单额:" << setw() << (char*)(_bstr_t)OrigCount << endl;
  51.  
  52. m_pRecordset->MoveNext();//下一条记录
  53. }
  54. m_pRecordset->Close();//关闭记录集
  55. }
  56.  
  57. catch (_com_error e)//捕捉异常
  58. {
  59. cerr << "\nERROR:" << (char*)e.Description();
  60. }
  61.  
  62. if (m_pConnection->State)
  63. {
  64. m_pConnection->Close();
  65. }
  66.  
  67. ::CoUninitialize();
  68.  
  69. Console::ReadLine();
  70.  
  71. return ;
  72. }

C++读取Sql Server的更多相关文章

  1. 如果正确读取SQL Server中的扩展事件?

        SQL Server中使用扩展事件捕捉所需的信息后,可以选择存放的位置.比如说内存或文件中,但无论存在哪里,其本质都是一个大XML.因此在SQL Server中读取该XML就是解析扩展事件结果 ...

  2. 多线程下不反复读取SQL Server 表的数据

    在进行一些如发送短信.邮件的业务时,我们常常会使用一个表来存储待发送的数据,由后台多个线程不断的从表中读取待发送的数据进行发送.发送完毕后再将数据转移到历史表中,这样保证待发送表的数据普通情况下不会太 ...

  3. 多线程下不重复读取SQL Server 表的数据

    在进行一些如发送短信.邮件的业务时,我们经常会使用一个表来存储待发送的数据,由后台多个线程不断的从表中读取待发送的数据进行发送,发送完成后再将数据转移到历史表中,这样保证待发送表的数据一般情况下不会太 ...

  4. 关于TP3.2框架读取Sql server中文字段数据以及处理乱码的一些小心得

    最近要做一个项目,需要使用TP3.2框架,之前什么也不会,就硬着头皮上了,结果真的闹了挺多emmmmmm挺低级的错误,就像SQL Server中文字段的读取,一开始我是照着读取英文字段的格式来写的,在 ...

  5. Java读取SQL server数据库

    要打开SQL server 的三个服务,然后再执行代码. package com.sql; import java.sql.SQLException; import java.sql.Statemen ...

  6. 关于Asp.net超时,延长读取sql server数据库的超时时间!(已解决)

    昨天,接到客户反映说应用报“超时时间已到.在操作完成之前超时时间已过或服务器未响应”问题.从网上了一些资料,发现这个问题还是很普遍的.主要有以下两种解决方法: 第一种方法:在web.config中加上 ...

  7. [20141121]无法通过powershell读取sql server性能计数器问题

    背景: 全新服务器,需要增加性能监控,发现无法通过powershell读取性能指标 解决方法: Open the Registry Editor by going to the Start Menu ...

  8. 关于读取Sql Server数据库时间前端处理问题

    var time = this.CreateTime; this.CreateTime = new Date(time.replace("T", " ")).F ...

  9. JSP JDBC 读取SQL Server 数据2

    <%-- Created by IntelliJ IDEA. User: hellohongfu Date: 2017/12/21 Time: 0:16 To change this templ ...

随机推荐

  1. python灰帽子学习感想

    Gray Hat Python Python Programming for hackers and reverse engineers Python灰帽子:黑客与逆向project师的Python编 ...

  2. 【云计算】OpenStack项目全面介绍

    关于OpenStack孵化项目trove(DBaaS)之我见:http://blog.csdn.net/ddl007/article/details/17253751 OpenStack Trove将 ...

  3. 猜想:一组勾股数a^2+b^2=c^2中,a,b之一必为4的倍数。

    证明: 勾股数可以写成如下形式 a=m2-n2 b=2mn c=m2+n2 而m,n按奇偶分又以下四种情况 m n 奇 偶 ① 偶 奇 ② 偶 偶 ③ 奇 奇 ④ 上面①②③三种情况中,mn中存在至少 ...

  4. webDriver API——第11部分Remote WebDriver

    The WebDriver implementation. class selenium.webdriver.remote.webdriver.WebDriver(command_executor=' ...

  5. 关于comet

    Comet是彗星的意思,这一技术之所以借用这个名字,是因为这里的每一次请求都有一个长长的“尾巴”.这个长尾巴就是我们感兴趣的长连接. 因为长连接的实现,Comet可以不需要安装浏览器插件就可以向客户端 ...

  6. 使用Monkeyrunner进行Android自动化的总结

    http://www.2cto.com/kf/201411/356056.html 使用Monkeyrunner进行Android自动化的总结 使用Android自动化的方式,不仅可以用来对Andro ...

  7. Linux内核project导论——网络:路由:路由原理

    总览 路由表 IP层通过路由将数据包送达该送达的目的地址,这就要求在整个网络中建立正确的路由表.路由表的内容是记录要到达哪里下一跳须要发到哪里(能够是port能够是ip),如此整个网络在单个节点仅仅知 ...

  8. mongodb安装的两条命令

    1. 安装 下载并安装,注意安装方式为custom,路径自定义(d:\chengxu\mongodb),安装成功后在mongodb文件夹下新建data文件夹(内新建db文件夹)和logs文件夹(内新建 ...

  9. bootstrap学习笔记 Bootstrap 列表组

    本文将介绍列表组.列表组件用于以列表形式呈现复杂的和自定义的内容.创建一个基本的列表组的步骤如下: 向元素ul 添加class list-group 向li添加class list-group-ite ...

  10. vs2017搭建自己的nuget服务器

    准备环境 vs2017 第一步  创建一个新的asp.net 空网站 .net框架使用4.6以上版本 (或者在第二部中使用低版本的nuget server) 第二步  打开nuget包管理器 搜索nu ...