如何才能 只要数据库文件与应用程序文件在同一文件夹程序就可以运行?(50分)

  • 主题发起人 主题发起人 mcy
  • 开始时间 开始时间
M

mcy

Unregistered / Unconfirmed
GUEST, unregistred user!
 我在程序中调用已有的数据库文件,比如:c:/borland/delphi/project/data/下的student.dbf,
但是如果该文件不在此文件夹下就程序不能使用.
如何才能 只要数据库文件与应用程序文件在同一文件夹程序就可以运行?
 
先确定应用程序路径,动态建立别名为该路径即可;
 
文件型数据库可以将DataBase设为文件所在的目录,
GetCurrentDirector可得到当前路径
 
如果你用Tabel那设置Tabel.DatabaseName为:./
如果用Query那就更简单了,不要设置别名,
直接在SQL语句里使用不带路径的表名就行了。
 
同上,或设置BDE(如果是本地的话)。用别名就OK.
 
用FILEEXISTS(FILENAME)判断文件是否存在,
若不存在就CLOSE。
 
确定应用程序路径:ExtractFileDir(Application->ExeName);
代路径的数据库名: ExtractFileDir(Application->ExeName)+"//数据库名";
 
运行前让TABLE1.ACTIVE为FALSE
TABLE1.ACTIVE :=FALSE;
TABLE1.DATABASENAME:=EXTRACTFILEDIR(PARAMSTR(0));
TABLE1.TABLENAME:='student.dbf';
try
TABLE1.ACTIVE :=TRUE;
finally
...
 
同意小菜
 
用TTable可不设置DATABASENAME,它的默认值为当前目录。
用TQuery可不设置DATABASENAME,它的默认值为当前目录,语句只要符合Local sql即可,
不懂Local sql,可看Delphi 的Local Sql Help。
 
多人接受答案了。
 
后退
顶部