什么? 有人要自杀! 那我可不能袖手旁观, 哎呀!! 提问题的时间
是2000-1-22 12:51:35, 是不是已经自杀了! (开个玩笑)
应急措施如下: (先得把你手里的刀抢过来,不然人都死了说什么都没用了)
你现在立刻到安装了你的程序的机器上,执行
/Program Files/Common Files/Borland Shared/BDE/bdeadmin.exe
(这不就是BDE Administrator吗? 正是!)
选择Configuration页, Configuration -> Drivers -> Native ->
MSACCESS , 在右边将DLL32项改为IDDA3532.DLL , 保存并退出.
运行你的程序, 应该没有问题了吧! 即便还有错误,也肯定不是
> Cannot load an IDAPI service library.
> File: D:/Program Files/Common Files/Microsoft Shared/DAO/DAO3032.DLL
> Alias: zzz
这个错误了吧!
且听我慢慢道来:
其实,关于怎样制作安装盘之类的讨论已经很多了,高手们都说出了自己的
经验,有些的确很有道理.
我的体会是:
鉴于Delphi和C++Builder所带的InstallShield只支持英文,制作出来的安装
程序中英文混杂(因为我们的软件名称一般是中文的),颇为不伦不类,加之BDE
对Access的支持就不太好,还有你可能升级BDE的版本,这样InstallShield对
它又支持的不好.... 因此造成制作安装程序失败.
其实,安装程序的作用就是将自己的软件文件复制到用户的机器上并配置好,
所以,从某种意义上说,根本就不存在InstallShield for Delphi4, for Delphi5
for什么什么的问题, 所以我总是用InstallShield 5.1 东方版 ,一切细节
都自己设, 虽然比较麻烦, 但做好之后对自己做的程序的里里外外的事情
都清楚, 启不是很好吗?
象你的这个程序,在本机上运行肯定没问题,而且可以肯定在本机上找不到
DAO3032.DLL这个文件,这不正说明问题不在这吗? 可能是由于别的错引发
了这个错,至少是报错不准确.
访问Access数据库一般常用的方法有两种:
1. 直接用内置的驱动程序.
<1> 象上边那样将DLL32项改为IDDA3532.DLL
<2> 设置别名不要用BDE Administrator , 而是通过修改控件属性或
干脆在程序中用代码来设, 这样免得IDAPI.CFG这个配置文件设好
没设好的.
大致步骤如下:
[1] 将组件TDatabase,TDataSource,TTable,TDBGrid放在FORM上
[2] 双击Tdatabase
[3] 将Database Name设置成随便什么别名,如: aaa.
[4] Driver Name 设置成MSACCESS
[5] 单击Defaults按钮
DATABASE NAME=DRIVE:/PATH/DATABASE.MDB(你的数据库)
USER NAME=
OPEN MODE=READ/WRITE
LANGDRIVER=
SYSTEM DATABASE=(这一项如有必要可设上, /windows/system/system.mdw)
PASSWORD=
[6] 一般为了不要口令,将Login Prompt 的勾去掉
[7] 将TTable控件的DataBasename设为刚才的aaa
.................
2. 用ODBC, 最好用在程序中修改注册表的方法
不多说了,写了这么多有点困了.有问题Mail我. sj_sj@yeah.net