`
zhangziyueup
  • 浏览: 1172563 次
文章分类
社区版块
存档分类
最新评论

EVC4.0+AdoCe3.1访问Access数据库全攻略(附带说明及例程)

 
阅读更多

http://bbs.mscommunity.com/forums/ShowThread.aspx?PostID=26641

<!-- ********* ItemTemplate.BodyColPostHeaderEnd (/1 row) ************* //--><!-- ********* ItemTemplate.BodyColPostBodyStart (1 row) ************* //-->
EVC4.0+AdoCe3.1访问Access数据库全攻略(附带说明及例程)

<nobr><strong>附件:</strong> <a href="http://bbs.mscommunity.com/FORUMS/PostAttachment.aspx?PostID=26641" target="_blank">ADOCE_EVC4.rar</a>(418K, 下载次数:1348)</nobr>
上周刚完成一个PC上的ACCESS数据库,比较简单,但放到PPC上就难多了。经过3天的努力,终于找出了在EVC4.0下使用ADOCE3.1访问Pocket Access数据库的方法。跟大家分享一下经验。
本人不是计算机专业,如果说法有误,不要PK我,欢迎大家和我交流,其中必有疏漏之处,也请大家及时指正。

基本步骤如下:
1.将Adoce PPC_ARM文件夹中"需要使用的DLL"中的文件复制到设备的Windows文件夹下;
2.数据库程序中在使用VOADO之前注册这些DLL
CreateProcess(_T("/RegSvrCe",_T("/s /Windows//adoce31.dll",NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
CreateProcess(_T("/RegSvrCe",_T("/s /Windows//Adoxce31.dll"),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
CreateProcess(_T("/RegSvrCe"),_T("/s /Windows//Adocedb31.dll"),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
CreateProcess(_T("/RegSvrCe"),_T("/s /Windows//Adoceoledb31.dll"),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
CreateProcess(_T("/RegSvrCe"),_T("/s /Windows//Msdaer.dll"),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
CreateProcess(_T("/RegSvrCe"),_T("/s /Windows//Msdaeren.dll"),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
CreateProcess(_T("/RegSvrCe"),_T("/s /Windows//msdadc.dll"),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
CreateProcess(_T("/RegSvrCe"),_T("/s /Windows//msdaosp.dll"),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
3.将VoAdo中所有文件添加到你的工程中,将其中ado??30.h都改为ado??31.h;
4.将vorecordset.h文件中此处改为
BOOL CVORecordset::g_Init = FALSE;
CLSID CVORecordset::g_ClsID;
TCHAR* CVORecordset::g_ProgID = TEXT("ADOCE.Recordset.3.1");
原来第3句为TCHAR* CVORecordset::g_ProgID = TEXT("ADOCE.Recordset.3.0");
5.将Include文件夹中的adoce31.h和adocec31.h添加到你的工程中;
6.将regsvrce.exe复制到设备中和你的数据库程序同一个文件夹下(该文件在Program Files/Microsoft eMbedded C++ 4.0/EVC/WCE400/TARGET/ARMV4文件夹下)。

说明:以上文件的来源
1.DLL文件来自微软的adocepbzip安装包,在这个文件夹下:adocepb/setup/Data Access 3.1/Program Files/DataAccess31/DEVICE/ARM/SA1100/CE/RETAIL
此安装包在这里下载http://www.microsoft.com/downloa ... US%2fadocepbzip.exe
2.VoAdo是VOS公司做的一个使用比较方便的ADOCONNECTION和ADORECOEDSET类,下载下来的需要修改(见3)才能使用,本压缩包的文件已经做了修改.在这里下载http://www.voscorp.com/products/ ... ile/voado/voado.zip
3.adoce31.h和adocec31.h文件的生成:
在微软的adocepbzip安装包的adocepb/setup/Data Access 3.1/Program Files/DataAccess31/INCLUDE目录下,有这样两个文件
adoce31.idl和adocec31.idl,在命令行中执行midl adoce31.idl和midl adocec31.idl即可生成.h文件.

感谢http://blog.vckbase.com/zuilang/archive/2005/09/28/12600.html文章《在evc中使用ADOCE的前期准备》中给出的宝贵信息!

做完这些工作,就可以在程序中使用CVORecordSet和CVOConnection来访问Access数据库了,具体请见我的例程——电话号码查询程序。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics