动态连接access的问题?(50分)

  • 主题发起人 主题发起人 jefflau
  • 开始时间 开始时间
J

jefflau

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在程序运行时动态连接数据库,我把数据库放在运行目录中,数据库文件名为book.mdb,然后在datamodule的oncreate中加入下面代码:

ADOConnection1.Provider:='Microsoft.Jet.OLEDB.4.0';//驱动程序
ADOConnection1.ConnectionString:='Data Source='+ExtractFilePath(ParamStr(0))+'book.mdb;Persist Security Info=False';//paramstr(0)是绝对路径吗?
但是在别的机子上运行时就显示不是个相对路径,请问为什么,就是我把运行程序的文件夹放在任何地方运行时都可以成功连接??
我做的系统文件夹名为图书借阅管理系统,运行的文件名有book.exe
 
在窗体创建事件里面写入
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=acs.mdb;Persist Security Info=False';
ADOConnection1.Connected:=True;


Source后面跟路径和库名称
 
我以前是這麼做的:
ADOConnection1.close;
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;
Data Source='+ExtractFilePath(Application.ExeName)+Book.mdb;
Jet OLEDB:Database Password='+密碼+';Persist Security Info=False';
ADOConnection1.open;
絕對可行的!
 
相对路径可以如下设置:
ExtractFilePath(ParamStr(0)) + '.././myPath/book.mdb'
或ExtractFilePath(Application.ExeName) + '.././myPath/book.mdb'
意思是:取当前应用程序根目录下的路径/mypath下的ACCESS库:book.mdb
 
把你的mdb文件和程序文件放一起,连路径都省了吧。
 
通过了,谢谢大家
 
后退
顶部