zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

c++读取sqlserver示例分享

SQLServerC++ 示例 分享 读取
2023-06-13 09:15:17 时间

复制代码代码如下:


//ReadSqlConsole.cpp:主项目文件。

#include"stdafx.h"
#include<iostream>
#include<iostream>
#include<iomanip>//forsetw()
#include"windows.h"

#import"C:\ProgramFiles\CommonFiles\System\ado\msado15.dll"no_namespacerename("EOF","EndOfFile")

usingnamespaceSystem;
usingnamespacestd;

intmain(array<System::String^>^args)
{
   ::CoInitialize(NULL);

   //类型在msado15.dll中已定义
   _RecordsetPtrm_pRecordset("ADODB.Recordset");
   _ConnectionPtrm_pConnection("ADODB.Connection");

   _bstr_tbstrSQL("select*fromer_orderwherepactnumberlike"13010000%"orderbypactnumber");//对应的sql语句

   try
   {
       clog<<"正在连接数据库..."<<endl;
       m_pConnection.CreateInstance("ADODB.Connection");//创建Connection对象
       //设置连接字符串,必须是BSTR型或者_bstr_t类型
       _bstr_tstrConnect="Provider=SQLOLEDB;Server=【数据库实例】;Database=【数据库名】;uid=【数据库用户】;pwd=【密码】;";
       m_pConnection->Open(strConnect,"","",adModeUnknown);//服务器连接

       if(m_pConnection==NULL)
       {
           std::cerr<<"LinddataERROR!\n";
       }

       m_pRecordset.CreateInstance(__uuidof(Recordset));//创建记录集对象

       //取得表中的记录
       m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);

       _variant_tPactNumber,OrigCount;//对应库中的字段

       cout<<"--------------合同清单--------------"<<endl;
       while(!m_pRecordset->EndOfFile)
       {
           PactNumber=m_pRecordset->GetCollect("Pactnumber");
           OrigCount=m_pRecordset->GetCollect("Origcount");
           cout<<"合同号:"<<setw(10)<<(char*)(_bstr_t)PactNumber;
           cout<<"  签单额:"<<setw(7)<<(char*)(_bstr_t)OrigCount<<endl;

           m_pRecordset->MoveNext();//下一条记录
       }
       m_pRecordset->Close();//关闭记录集
   }

   catch(_com_errore)//捕捉异常
   {
       cerr<<"\nERROR:"<<(char*)e.Description();
   }

   if(m_pConnection->State)
   {
       m_pConnection->Close();
   }

   ::CoUninitialize();

   Console::ReadLine();

   return0;
}