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();
_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();
相关文章推荐
- 使用 ADO.NET 和 Oracle 进行高级数据访问 (转自)
- 红皮书实例2之使用ADO访问数据源
- VC用ADO访问数据库全攻略
- VC++中使用ADO访问SQL Server 2000简介
- 使用sqlserver中的openrowset函数链接并访问远程数据库中表的数据
- VC + ADO + Access数据文件简单加密方法
- VC利用ADO组件来访问数据库的程序设计
- VC++中使用ADO访问SQL Server数据库与Access数据库的不同之处总结
- 初识ADO.net-访问数据的两种方式
- ADO.NET的数据访问对象
- VC下ADO访问远程ORACLE数据库
- VC用ADO访问数据库全攻略
- VC用ADO访问数据库全攻略
- 数据访问:使用 ADO.NET 的最佳实践
- VC用ADO访问数据库全攻略
- 利用VC和ADO接口编写一个dll模块实现对数据库数据的处理
- VC用ADO访问数据库全攻略
- VC用ADO访问数据库全攻略
- VB.net数据库编程(08):ADO.net数据访问接口
- ADO与ADO.NET两种数据访问方式区别