# include <iostream> //# include "stdafx.h" # include <iomanip> # import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF", "EndOfFile") int main() { ::CoInitialize(NULL); try { _ConnectionPtr pConn("ADODB.Connection"); _RecordsetPtr m_pRecordset("ADODB.Recordset"); //連接字符串,此處為MSSQL的連接字符串,其他數據庫的擺渡一下就知道 _bstr_t strConnect="Provider=sqloledb;Network Library=DBMSSOCN;Initial Catalog=WDBuyDB;User ID=admin;Password=admin$192;Data Source=192.168.2.199,1433"; //步驟1--打開連接 pConn->Open(strConnect,"","",adModeUnknown); //步驟2--創建命令 //步驟3--執行命令 m_pRecordset=pConn->Execute("SELECT * FROM [WDBuyDB].[dbo].[Pro_ProductAttribute]",NULL,adCmdText); //步驟4--操作數據 //操作數據可以選擇其它的刪除,修改,插入等這里只是讀出數據庫中表的數據 _variant_t ProductAttributeKey,AttributeName,AttributeValue; std::cout<<"ProductAttributeKey AttributeName AttributeValue"; //std::cout<<"n---------------------n"; while(!m_pRecordset->EndOfFile) { ProductAttributeKey=m_pRecordset->GetCollect(_variant_t((long)0)); AttributeName=m_pRecordset->GetCollect(_variant_t((long)1)); AttributeValue=m_pRecordset->GetCollect(_variant_t((long)2)); //給字段編號或者是字段名 //id=m_pRecordset->GetCollect("ProductAttributeKey"); //name=m_pRecordset->GetCollect("AttributeName"); if(ProductAttributeKey.vt!=VT_NULL&&AttributeName.vt!=VT_NULL) { printf("\n"); //std::cout.setf(ios::left); std::cout<<std::setw(18)<<(char*)(_bstr_t)ProductAttributeKey; std::cout<<std::setw(10)<<(char*)(_bstr_t)AttributeName; std::cout<<std::setw(20)<<(char*)(_bstr_t)AttributeValue; } //移動到下一條記錄 m_pRecordset->MoveNext(); //關閉記錄集 m_pRecordset->Close(); } } catch(_com_error e) { //顯示錯誤信息 //std::cerr << "This is a test message\n"; std::cerr << (char*)e.Description(); //std::cerr<<"nERROR:"<<(char*)e.Description(); } getchar(); ::CoUninitialize(); return 0; //測試部分 /* std::cout << "Hello, world!" << std::endl; getchar(); return 0; */ }
