为什么会出现编译错误?

stone565 2003-08-15 08:48:17
我作的小系统是Delphi6+ADO+MS Access
编译时老是出现下面的错误信息:
Debugger Exception Notification
Project Project1.exe raise exception class EoleException with message'找不到可安装的ISAM.'Process stopped.Use Step or Run to Continue.

相关的AdoConnection.connectstring 都是在FrmMain的OnShow 事件触发时才动态连接
代码如下:
procedure TForm1.FormShow(Sender: TObject);
begin
DM.ADOConnection1.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;DataSource=..\Data\my_ClassMate.mdb;Persist Security Info=False';
try
DM.ADOConnection1.Connected :=true;
except
MessageBox(handle,'数据文件“Data”被删除或被移走。','不能登录',MB_OK);
Close;
end;//try
end;

但是我运行的别人的例程代码(也是动态连接)却能顺顺利利地生成所需要的exe文件
我现在头大如斗,各位帮帮我,救救我,要代码:stone-565@263.net
...全文
98 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
racesun 2003-08-19
  • 打赏
  • 举报
回复
不要用相对路径:(..\Data\my_ClassMate.mdb)
你可以自动检测程序的路径用ExtractFilePath(Application.ExeName)+'\Data\my_ClassMate.mdb'
MMisLady 2003-08-18
  • 打赏
  • 举报
回复
是由于你的连结字符串有问题,最好使用ExtractFilePath(Application.ExeName)+'\Data\my_ClassMate.mdb'代替你的数据文件路径。另外一种原因是你用的Access97的表,所以会出现错误。
rehuo 2003-08-18
  • 打赏
  • 举报
回复
出现的这个错误不是找不到数据库吧
你试试不放到OnShow里面,
在OnCreate里面试试
是不是在显示以前,你使用数据库连接了
XingStar 2003-08-18
  • 打赏
  • 举报
回复
DM.ADOConnection1.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;DataSource=..\Data\my_ClassMate.mdb;Persist Security Info=False';

问题就出在这里:
你的Data的文件夹跟你的exe文件放在同一目录下路径就要写成:Data\my_ClassMate.mdb;
如果是放在你放exe文件的目录的上一层目录就要写成:..\Data\my_ClassMate.mdb

就这么简单啦。
XingStar 2003-08-18
  • 打赏
  • 举报
回复
哈哈,寄到你油箱啦。给分吧:)
stone565 2003-08-18
  • 打赏
  • 举报
回复
谢谢楼上各位的帮助,还有一个问题:
为什么要 OnCreate 触发,而不用Onshow触发,请解释一下吧
stone565 2003-08-17
  • 打赏
  • 举报
回复
怎么回事,我这几天我的邮箱老是没看到邮件,还有谁能帮我替解惑。
stout 2003-08-17
  • 打赏
  • 举报
回复
不要onShow时再触发
stone565 2003-08-15
  • 打赏
  • 举报
回复
to :leilu
我已经寄给你了,谢谢您帮我这菜鸟看看。
leilu 2003-08-15
  • 打赏
  • 举报
回复
我做过这方面的,如果你相信我,可以给我代码luwang0004@163.com

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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