您的位置:首页 > 其它

简单使用ADO测试数据源

2012-02-25 18:26 489 查看
// testadodb.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <windows.h>
#include <iostream>
using namespace std;
#import "C:\Program Files\Common Files\SYSTEM\ADO\msado15.dll" no_namespace rename("EOF", "adoEOF")

_ConnectionPtr pConn = NULL;
_RecordsetPtr pRecordset = NULL;
int main(int argc, char* argv[])
{
::CoInitialize(NULL);

// 创建连接对象实例
char *lpszConnect = "Provider=OraOLEDB.Oracle;User ID=sa;\
Password=liuxuezong;Data Source=RTSOS"; // 标准安全级别
if (S_OK != pConn.CreateInstance("ADODB.Connection"))
{
cout << "create connection instance failed..." << endl;
return -1;
}
if (S_OK != pRecordset.CreateInstance("ADODB.Recordset"))
{
cout << "create recordest instance failed..." << endl;
return -1;
}

try
{
HRESULT hr = pConn->Open((_bstr_t)lpszConnect,
"sa", "liuxuezong", adConnectUnspecified);
if (FAILED(hr))
{
cout << "connect failed!" << endl;
return -1;
}
char *strSQL = "select * from TRPW_SAMPLE100HZ";
hr = pRecordset->Open((_bstr_t)strSQL, (IDispatch *)pConn,
adOpenDynamic, adLockOptimistic, adCmdText);
if (FAILED(hr))
{
cout << "query failed!" << endl;
return -1;
}
while (!pRecordset->adoEOF)
{
_variant_t varValue;
varValue = pRecordset->GetCollect("SAMPLE_TIME");
if (varValue.vt != VT_NULL)
{
int n = 0;
}
pRecordset->MoveNext();
}
}
catch (_com_error e)
{
const char *szError = e.ErrorMessage();
cout << "exception:" << szError << endl;
return -1;
}
pRecordset->Close();
pConn->Close();

::CoUninitialize();

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: