当前位置:编程学习 > Delphi >>

delphi+access数据库文件夹保存位置问题

delphi连接access数据库非要全地址不可吗?文件夹位置移动后根本用不了。其实EXE文件跟MDB都在同一文件夹下面啊。可不可以像HTML一样设为“..\*.MDB”这样就好,移动到任何位置,只要EXE跟MDB在同一文件夹下就可以用了?
答案:。。。。。。。。。。。。。。。。。。
其他:第一种方法,连接的时候不要加任何路径,直接 123.mdb 这样的文件名。
第二种方法,使用ExtractFilePath(Application.ExeName)+'123.mdb'的方式。
第一种方法比较简单,但是,如果你的窗口有OpenDialog这些,当用户在OpenDialog选择了某个文件路径后,第一种方法就会失败,导致找不到 123.mdb 的情况。
第二种,稍微复杂那么一点点,但是百分百成功。 你用了数据库连接组件了没有,如果用了,就在数据库连接组件的ONBeforeConnect事件中,按下面的方法写代码。
Tfr_sjmk:数据模块名称
XTzlj:数据连接组件名称
procedure Tfr_sjmk.XTzljBeforeConnect(Sender: TObject);
begin
   XTzlj.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;'+
  'Data Source='+ExtractFilePath(ParamStr(0))+'\datewj\xmmzsf.mdb;Jet OLEDB:Database Password=jmxx';
end;数据库xmmzsf.mdb放在exe文件所在文件夹内的datewj文件夹中;如果没有设置密码,就让Password=‘'空着。这样写之后,无论你把有EXE文件的文件放在电脑的任何位置都可以了。 
换一台电脑测试一下,要看你那个软件占用了多少资源.如果还是超用资源的话,那软件就有问题罗.有些同志编程,喜欢用很多窗体而且还喜欢用多个数据组件,我看过用上百个ADO数据组件的.窗体最好是即时创建,即时销毁.ADO数据组件最好是不用时就关闭,不要让它老连接着表.组件数也不要太多,在显示屏上的每时每刻,总是只有一个或者二个组件有用. 

上一个:如何在Delphi中调用
下一个:delphi创建子窗口

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,