求知!!求教!!如何定义数据库的路径(不用别名)(100分)

  • 主题发起人 主题发起人 wxmwin
  • 开始时间 开始时间
W

wxmwin

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大虾好:
小虾有一问题求教。我现在在做一个paradox的数据库(用delphi5),在数据库路径
方面我不愿意用别名。因为如果用别名的话,数据库的路径就规定死了,不能改变。
所以我仍然想用绝对路径,但我却不知如何用,怎么用,请各位大虾赐教。
 
Table1.TableName:=ExtractFilePath(Application.ExeName)+'book.DB';
 
直接设置的吧,例如设置DATABASE的databasename:=d;/zhang,只要把数据库表存在d;/zhang
的目录下面就可以的啦
 
如果你要根据你的应用程序所在位置来灵活设置你的数据库的话:
可以:
table1.databasename:=ExtractFilePath(Application.ExeName)+'/data';
{假设你的数据库在你的应用程序目录下的data目录中}
table1.tablename:='database.db';
table1.active:=true;
 
以上几位说得很清楚了,在此补充一点:
1.放置一个TDatabase控件,并双击它,在其Diver Name中选择STANDARD类型。
2.设LoginPrompt=false;没DatabaseName=你想叫的名称。(如:MyDB1)
3.设所有连接的表或Query控件的Database为此。

4.在程序中可以这样控制:(sDBPath为你的数据库绝对路径)
Database1.Close;
Database1.Params.Clear;
Database1.Params.Insert(0, 'PATH='+sDBPath);
Database1.Session.AddPassword('123');//此句为去掉密码验证,如你将所有的表加上
‘123’的口令,可在此提供口令给程序。
Database1.Open;
OpenAllTable...
 
var
filedir:string;

在FormCreate中加上:
Getdir(0,filedir);
Table1.TableName:=filedir+'/my.db'

补充说明:
设你和程序当前目录是:C:/Myprog
那么filrdir的值是:C:/Myprog
而是楼上几位所说的ExtractFilePath(Application.ExeName)的值是:C:/Myprog/

就paradox用TDatabase没必要吧!


 
我一直用的是zhao0707所说的方法
 
各位高手:
多谢你们对小虾我的关心,我选择了redsky的答案。再次谢谢大家!
 
后退
顶部