delphi+access数据库文件夹保存位置问题
delphi连接access数据库非要全地址不可吗?文件夹位置移动后根本用不了。其实EXE文件跟MDB都在同一文件夹下面啊。可不可以像HTML一样设为“..\*.MDB”...
delphi连接access数据库非要全地址不可吗?文件夹位置移动后根本用不了。其实EXE文件跟MDB都在同一文件夹下面啊。可不可以像HTML一样设为“..\*.MDB”这样就好,移动到任何位置,只要EXE跟MDB在同一文件夹下就可以用了?
展开
5个回答
展开全部
第一种方法,连接的时候不要加任何路径,直接 123.mdb 这样的文件名。
第二种方法,使用ExtractFilePath(Application.ExeName)+'123.mdb'的方式。
第一种方法比较简单,但是,如果你的窗口有OpenDialog这些,当用户在OpenDialog选择了某个文件路径后,第一种方法就会失败,导致找不到 123.mdb 的情况。
第二种,稍微复杂那么一点点,但是百分百成功。
第二种方法,使用ExtractFilePath(Application.ExeName)+'123.mdb'的方式。
第一种方法比较简单,但是,如果你的窗口有OpenDialog这些,当用户在OpenDialog选择了某个文件路径后,第一种方法就会失败,导致找不到 123.mdb 的情况。
第二种,稍微复杂那么一点点,但是百分百成功。
参考资料: 132.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你用了数据库连接组件了没有,如果用了,就在数据库连接组件的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文件的文件放在电脑的任何位置都可以了。
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数据组件最好是不用时就关闭,不要让它老连接着表.组件数也不要太多,在显示屏上的每时每刻,总是只有一个或者二个组件有用.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以这么试一下:
在数据模组里用tadoconnection组件,在它的connectionstring里面连接到服务器上的access数据库,然后在模组的其他ado控件的connection属性里连接到adoconnection,这样就把ado和access连接起来了,这时,你可以把模组里的tadotabel,tadoquery,tadocommand都连接到access的数据表上或视图上.从而达到操作access数据库的要求
在数据模组里用tadoconnection组件,在它的connectionstring里面连接到服务器上的access数据库,然后在模组的其他ado控件的connection属性里连接到adoconnection,这样就把ado和access连接起来了,这时,你可以把模组里的tadotabel,tadoquery,tadocommand都连接到access的数据表上或视图上.从而达到操作access数据库的要求
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
。。。。。。。。。。。。。。。。。。
追问
还有吗?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询