CoInitialize(NULL);
_ConnectionPtr pCPtr; // 用于数据连接的指针
_RecordsetPtr pRPtr; // 用于查询记录集的指针
if (FAILED(pCPtr.CreateInstance("ADODB.Connection")))
{
OutputString("_ConnectionPtr创建失败/n");
return 1;
}
char *szRemote = "Remote Server=192.168.0.120;Remote Provider=MSDASQL;DSN=SQL;"; // 远程
char *szLocal = "Provider=MSDASQL;DSN=sql"; // 本
if(FAILED(pCPtr->Open(szRemote, "xuh", "xh82", -1)))
{
OutputString("连接数据库不成功/n");
return 2;
}
if (FAILED(pRPtr.CreateInstance("ADODB.Recordset")))
{
OutputString("_RecordsetPtr创建失败/n");
return 3;
}
if (SUCCEEDED(pRPtr->Open("select * from tb_name",
pCPtr->GetConnectString(), adOpenStatic, adLockOptimistic, adCmdText)))
{
pRPtr->MoveFirst();
Fields *pFields;
pRPtr->get_Fields(&pFields);
long nFields;
pFields->get_Count(&nFields);
for (long i=0; i<nFields; i++)
{
BSTR bstrFieldName;
pFields->Item[i]->get_Name(&bstrFieldName);
}
while (!pRPtr->GetEndOfFile())
{
VARIANT var;
for (long i=0; i<nFields; i++)
{
pRPtr->get_Collect((_variant_t)(long)i, &var);
}
pRPtr->MoveNext();
}
}
pCPtr.Release();
pRPtr.Release();
CoUninitialize();