[求助]应用ADO 无法初始化 指针
#include "StdAfx.h"#include "StdArx.h"
//-----------------------------------------------------------------------------
// This is command 'LINK, by, ,
void asdklink()
{
#ifdef OARXWIZDEBUG
acutPrintf ("\nOARXWIZDEBUG - asdklink() called.");
#endif // OARXWIZDEBUG
// TODO: Implement the command
::CoInitialize(NULL);
ADO::_ConnectionPtr connPtr;
//AfxGetModuleState()->m_dwVersion = 0x0601;
//HRESULT hr =connPtr.CreateInstance("ADODB.Connection");
HRESULT hr =connPtr.CreateInstance(__uuidof(Connection));
if(SUCCEEDED(hr))
{
acutPrintf("Create Instance SUCCEEDED!");
return;
}
else
{
acutPrintf("Create Instance FAILED!");
}
CString strConn;
strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\PipeData.mdb";
_bstr_t varConn(strConn);
if (FAILED(connPtr->Open(varConn,"","",-1)))
{
acutPrintf("Can not open Database!");
connPtr.Release();
return;
}
ADO::_RecordsetPtr recdPtr;
if (FAILED(recdPtr.CreateInstance("ADODB.Recordset")))
{
acutPrintf("recdPtr Create Instance failed!");
return;
}
CString strSql;
strSql="select *from (. AS a INNER JOIN . AS b ON a.起始点号=b.起点) INNER JOIN . AS c ON a.终止点号=c.终点";
_variant_t varSql(strSql);
//_variant_t varCon(strConn);
if(FAILED(recdPtr->Open(varSql,connPtr.GetInterfacePtr(),ADO::adOpenDynamic,ADO::adLockOptimistic,ADO::adCmdText)))
{
acutPrintf("Open table failed!");
recdPtr.Release();
return;
}
else
{
acutPrintf("成功");
}
}
StdAfx.h已经引用了#import "C:\Program Files\Common Files\System\ado\msado15.dll" rename_namespace("ADO") rename("EOF","adoEOF")
BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/)
{
AfxOleInit();
}
不能初始化 _ConnectionPtr
请各位大师指教.
困扰我很久了,希望那位高手给以指点。
页:
[1]