VC+ADO+ACCESS文件,在一台只装WIN98而没有装OFFICE的计算机上能否正常运行?
其中,编译文件是静态连接MFC的DLL。
我把EXE文件和MDB文件拷贝到一台只装WIN98而没有装OFFICE的计算机上,运行到那句
m_pRecordset.CreateInstance("ADODB.Recordset");
的时候,没有问题,但是运行到下面的这句就出现错误:
m_pRecordset->Open("SELECT * FROM users",_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);为什么?有无解决办法?
其中,编译文件是静态连接MFC的DLL。
我把EXE文件和MDB文件拷贝到一台只装WIN98而没有装OFFICE的计算机上,运行到那句
m_pRecordset.CreateInstance("ADODB.Recordset");
的时候,没有问题,但是运行到下面的这句就出现错误:
m_pRecordset->Open("SELECT * FROM users",_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);为什么?有无解决办法?
有没有可能是WIN98对ADO这个版本的支持不好?
在CXXXApp::InitInstance()中加入
if (!AfxOleInit())
{
AfxMessageBox("初始化COM库出错");
return FALSE;
}
你试试看,告诉我结果
1 _RecordsetPtr 的Open函数的各个参数到底什么类型的数据,我在不同的参考书上 看到不 同的说法
2 pSet->Open("SELECT * FROM workers", (const _variant_t&) pConn,adOpenDynamic,adLockOptimistic,adCmdText);
其中pSet是_RecordsetPtr 类型的,第二个参数那样强制转换行不行啊,有些书说这样打开Recordset
pSet->Open("SELECT * FROM workers", Conn->GetInterfacePt(),adOpenDynamic,adLockOptimistic,adCmdText);
可在我的.net环境中_ConnectionPtr 没有这个成员函数,不知道是怎么回事.
关于vc中的ado数据库操作,我还是新手,有很多东西要学,还请高手指教,
例如
3 _bstr_t类型到底是什么类型的数据,
4 variant_t 又是什么类型,
大哥们帮忙啊!
还ADO的问题
是否已经被初始化了
但是在我的机器(装WIN98+ACCESS)上编译和运行都没有问题。。
在应用COM对象之前应该先初始化COM环境