EVC4.0 + ADOCE3.1 如何读取 POCKET ACCESS 记录集,问aawolf(羌狼)

arvid_gs 2004-01-08 09:33:02
我在evc3.0 + adoce3.1上成功使用,
可是在EVC4.0 + ADOCE3.1 连接不到数据库,这是为什么呢?
是不是ado3.1注册的有问题?如何才能正确地注册呢?
谢谢你!
...全文
141 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
arvid_gs 2004-01-09
  • 打赏
  • 举报
回复
哦。那我做一个看看吧!
arvid_gs 2004-01-08
  • 打赏
  • 举报
回复
下面是代码。我写了出错的地方,我怀疑是adoce3.1注册的有问题,我看了模拟器的注册表,
有adoce3.1,是不是那个地方没做好呢?希望得到你的帮助!
IADOCEConnection *iADOCEConn = NULL; //Connection Object
IADOCERecordset *iADOCERS = NULL; //Recordset Object
IADOCEFields *iADOCEFields = NULL; //Fields Object

IID IID__Recordset = {0x113033F6,0xF682,0x11D2,{0xBB,0x62,0x00,0xC0,0x4F,0x68,0x0A,0xCC}};
IID IID__Connection ={0x113033DE,0xF682,0x11D2,{0xBB,0x62,0x00,0xC0,0x4F,0x68,0x0A,0xCC}};
TCHAR tsADOCE30ConnProgID[]= TEXT("ADOCE.Connection.3.1");
TCHAR tsADOCE30RSProgID[]= TEXT("ADOCE.Recordset.3.1");
CLSID tClsid;
HRESULT hr;
VARIANT varConn1,varTSQL,varEmpty;

hr = CoInitializeEx(NULL,COINIT_MULTITHREADED);
if(!SUCCEEDED(hr)) return;

VariantInit(&varConn1);
VariantInit(&varTSQL);
VariantInit(&varEmpty);

hr = CLSIDFromProgID(tsADOCE30ConnProgID, &tClsid );
if (FAILED(hr)) return ;
hr = CoCreateInstance (tClsid, NULL,
CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER,
IID__Connection, (LPVOID *)&iADOCEConn);
if(iADOCEConn && !FAILED(hr))
{

hr=iADOCEConn->Open(TEXT("Provider=cedb;Data Source=\\UserData.cdb"),TEXT(""),
TEXT(""),adOpenUnspecified); //这里的hr就错了
if(FAILED(hr)) return;
aawolf 2004-01-08
  • 打赏
  • 举报
回复
什么错误呢?

不好意思,今天比较忙。
myq923 2004-01-08
  • 打赏
  • 举报
回复
第一次到论坛上就看到你的帖子,对evc比较感兴趣,您说的ADOCE3.1是什么概念?
arvid_gs 2004-01-08
  • 打赏
  • 举报
回复
你在马? 帮帮我好吗?
aawolf 2004-01-08
  • 打赏
  • 举报
回复
对4。0下的CDB文件和3。0下的不兼容,你需要重新做。
arvid_gs 2004-01-08
  • 打赏
  • 举报
回复
差不多,是在3.0模拟下作的,难道必须要在4.0的模拟环境下创建呢?
HR = -24.....
一大串
aawolf 2004-01-08
  • 打赏
  • 举报
回复
哦,对了,还有一个可能性:你的CDB文件是直接从wince 3.0的设备上直接拷贝的吗?
aawolf 2004-01-08
  • 打赏
  • 举报
回复
返回的HR是多少?
arvid_gs 2004-01-08
  • 打赏
  • 举报
回复
还是不行,我觉得问题可能不在这里,
我在evc3里可以,为什么在4.0就不可以了呢?
aawolf 2004-01-08
  • 打赏
  • 举报
回复
hr = m_Conn->put_Provider(_T("cedb"));
hr = m_Conn->Open(_T("data source=UserData.cdb"),TEXT(""),TEXT(""),adOpenUnspecified);

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧