我编的delphi程序为什么换了路径后就无法读取?

我编了一个树形说明,通过数据库和它连接,保存文件后,然后把文件移动到了另一个文件夹,发现delphi7无法读取,为什么?怎么解决?举个例子说,我编了个delphi程序,把... 我编了一个树形说明,通过数据库和它连接,保存文件后,然后把文件移动到了另一个文件夹,发现delphi7无法读取,为什么?怎么解决?
举个例子说,我编了个delphi程序,把dpr等文件存在xx目录下,然后我把xx目录移动到了zz目录下,发现用delphi7读取报错
exe文件没任何问题,主要是我改变文件夹后,delphi读不出文件,一读就报错,也就是说连读都读不了,如果是数据库文件路径错误的话,那应该是exe文件也会出错,但是我偏偏exe文件没出错,而且我数据库文件也没改路径,就是改了delphi生成的文件路径
展开
 我来答
该问答中所提及的号码未经验证,请注意甄别。
kantleee
2009-04-18 · TA获得超过2216个赞
知道小有建树答主
回答量:741
采纳率:50%
帮助的人:526万
展开全部
你可能用的是静态连接数据库,这样程序换个文件夹或者换台电脑就不能用了,你可以使用动态连接数据库,我写一个连接ACCESS和SQL两种数据库的代码给你:

1.ACCESS数据库的联接方式:

条件:Adoconnection1,数据库名:Sample 密码:123,数据库文件路径为程式存取的根目录。

procedure TDataModule1.DataModuleCreate(Sender: TObject);
var
DbPath:String;
begin
DbPath:=ExtractFilePath(Application.ExeName)+'Sample.mdb';
Adoconnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=123;Data Source='+DbPath+';Persist Security Info=false';
Adoconnection1.LoginPrompt:=False;
Adoconnection1.Connected:=True;
end;
你把上面的这些条件改成你实际的就行了.

2.SQL的连接方式:
条件:控件名:AdoConnecion1,数据库名:Sample,用户名:sa 密码:123,数据库地址:本机

AdoConnection1.ConnectionString:='Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=sa;Initial Catalog=Sample;Data Source=.';
Adoconnection1.LoginPrompt:=False;
Adoconnection1.Connected:=True;

如果还是不懂,就QQ我,我教你!我的号码:593506287
天地惶惶
2009-04-17 · TA获得超过3222个赞
知道大有可为答主
回答量:1215
采纳率:0%
帮助的人:808万
展开全部
你肯定数据库路径写死了,
两种解决办法:
1.写相对路径 (数据库文件路径和你的程序要保持相对不动)
2.用个udl文件配置路径
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
热烈还鲜丽丶柠檬3831
2009-04-16 · TA获得超过455个赞
知道小有建树答主
回答量:426
采纳率:0%
帮助的人:344万
展开全部
对,依我看,肯定是数据库用了绝对路径,你的EXE一打开就出不断地弹出错误提示框吧?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zw_hawk
2009-04-19 · 超过18用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:18.1万
展开全部
你的数据库连接地址可能设置成了绝对地址如:d:\xx\数据库文件;换了目录肯定会报错的,应该改成相对地址,相对于你的可执行文件所在目录,应该为ExtractFilePath(Application.ExeName)+'xx\数据库文件'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wcy76
2009-04-16 · TA获得超过347个赞
知道小有建树答主
回答量:617
采纳率:0%
帮助的人:344万
展开全部
你的数据库路径可能是绝对路径,用相对路径看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式