您的位置:首页 > 编程语言 > C语言/C++

VC++/ADO数据访问远程数据库

2007-04-27 18:33 288 查看
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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: