不要用数据库别名,在应用程序中加一个初始设计用它来定义数据库的所在目录,在程序中通过定义query的 query1.Database.Directory 来定义数据库的路径.
解决方案 »
- 如何将一TWincontrol控件像TForm一样show出来?而不需要指定它的parent
- 最基础的问题,RM做报表,总页数TOTALPAGE,怎么说要“选择两遍报表”?怎么选??
- 如何在文件里搜索字符串,并将该字符串前的所有byte(包括各种控制符号,如回车,换行符)读入内存?
- 关于PeekMessage函数的用法?
- 请教powerdesigner是什么?
- 如何定义某一列为文本
- 有关DELPHI2010编译的问题
- 有关用Ado联接SQL出现Eof和Bof的问题,急用!高分送!!
- 关于ado的
- 各位兄台,我即将跳楼,不要拉我
- sql语句的疑惑
- 急!请问Delphi中如何读取Formula One(*.vts)文件,正确回答者满分奉上。
用session来做,下面的函数应该对你有帮助。function setdbalias(const aliasname, servername:string):boolean;
var
paramlist:tstringlist;
begin
result:=true;
paramlist:=tstringlist.Create;
try
paramlist.Clear;
paramlist.Add('SERVER NAME='+servername);
paramlist.add('USER NAME=SYSDBA');
paramlist.add('PASSWORD=masterkey');
if session.IsAlias(aliasname) then
begin
session.ModifyAlias(aliasname,paramlist);
end else
begin
session.AddAlias(aliasname,'intrbase',paramlist);
end;
session.SaveConfigFile;
except
result:=false;
end;
paramlist.free;
end;这是一个针对interbase的函数,很容易改成其他的,
如果使用dbf或pardox库,直接设query.databasename为当前目录就可以。exepath:=ExtractFilePath(application.exename);
query.databasename:=exepath;ok拉
为TDatabase的Params赋值,用Application.ExeName
获取程序的执行路径,将数据库的path指向此路径。
TDataBase.Params赋相关参数