我用D7+ACCESS编了一个程序,我建立的目录是在f:\td,数据文件和TD.EXE
所有的文件都在这个目录里,
现在我想这个程序在其它的电脑里运行,但程序总是提示F:\TD找不到数据文件,
我应如何才能令到程序在其它电脑里的任意目录里都能运行,因为只能在F:\TD中运行就太死板了
所有的文件都在这个目录里,
现在我想这个程序在其它的电脑里运行,但程序总是提示F:\TD找不到数据文件,
我应如何才能令到程序在其它电脑里的任意目录里都能运行,因为只能在F:\TD中运行就太死板了
var
path: string;
begin
path := ExtractFilePath(Application.ExeName);
//path就是当前应用程序所在的目录
end;
你可以这样做得到那个数据库在其他电脑上的当前目录
---------------------------
数据文件的现在完整路径为
path := extractfilepath(application.ExeName)+'xx.mdb';
//假设数据名称为xx.mdb
path := ExtractFilePath(Application.ExeName);
connectionstring
ConnStr,DBPath:String;
begin
DBPath:=ExtractFilePath(Application.ExeName)+'db.mdb;';
ConnStr:='Provider=Microsoft.Jet.OLEDB.4.0;'
+ 'User ID=Admin;Password=;Data Source='
+ DBPath
+ 'Persist Security Info=False;'
+ 'Jet OLEDB:System database="";'
+ 'Jet OLEDB:Registry Path="";'
+ 'Jet OLEDB:Database Password="";'
+ 'Jet OLEDB:Engine Type=5;'
+ 'Jet OLEDB:Database Locking Mode=1;'
+ 'Jet OLEDB:Global Partial Bulk Ops=2;'
+ 'Jet OLEDB:Global Bulk Transactions=1;'
+ 'Jet OLEDB:New Database Password="";'
+ 'Jet OLEDB:Create System Database=False;'
+ 'Jet OLEDB:Encrypt Database=False;'
+ 'Jet OLEDB:Compact Without Replica Repair=True;'
+ 'Jet OLEDB:SFP=False';
with adoconnection1 do
begin
Close;
ConnectionString:=ConnStr;
LoginPrompt:=False;
Connected:=True;
Open;
end;
end;