我的参考书讲到数据库组件的TTable 的时候,最先说到一个DatabaseName属性,它的解释如下:1. DatabaseName
DatabaseName 属性是用来说明当前数据集的来源,即应用程序所利用的数据库的名字。它可以是B D E定义的数据库别名,如D B D E M O S;也可以是数据库文件,像P a r a d o x和d B A S E等文件所在的路径;还可以是由TDataBase 组件定义的数据库名。应用最多的还是用B D E定义的数据库别名。因为这样可以避免在应用程序所操作的数据库发生变化时修改整个应用程序,而只需重新设置一下B D E定义的数据库别名即可。这一属性的设置通常是在设计阶段。在设计阶段,只要双击T d a t a b a s e组件就可以激活数据库编辑器( Database editor )来设定D a t a b a s e N a m e。
举例说明:
{ 更改数据集前,表格必须先被关闭}
Table1.Active := False;
T RY
{ 首先,试用数据库别名}
Table1.DatabaseName := 'Delphi_Demos';
Table1.Active := Tr u e ;
E X C E P T
on EDatabaseError do
{ 如果试用失败,改用数据库文件的路径名}
Table1.DatabaseName := 'c:\delphi\demos\database';
Table1.Active := Tr u e ;
end;关于上面的话,有个地方我不明白,那个什么别名是从哪来的,可以随便写的吗?我自己试的时候随便写个东东上去没用,错误提示好像是路径错误,然后这个属性后面有一个下接框,显示的好像是一些数据库类型还是驱动啥的,我随便选一个,在设置TableName的时候就会出来个框要输入用户名和密码,我都不知道输入什么有默认的吗??另外如果我在C盘有一个db.mdb的access数据库,在这个属性上写上c:\db.mdb,会显示无效目录。。
还有上面例子中:
{ 如果试用失败,改用数据库文件的路径名}
Table1.DatabaseName := 'c:\delphi\demos\database';上面写的那个是目录么?如果那个目录里有很多数据库,就算连接上了,怎么知道要用的是哪个数据库??拜托!

解决方案 »

  1.   

    别名是数据生成时你给它取的一个名称,
    'c:\delphi\demos\database'这是你安装时DEMO的路径,这里有很多DEMO
      

  2.   

    你在配置ODBC数据源的时候,可以取一个任意的名字,这就是所谓的别名,你在设置数据库名字的时候,就用别名好了
      

  3.   

    别名是数据生成时你给它取的一个名称,
    'c:\delphi\demos\database'这是你安装时DEMO的路径,这里有很多DEMO请问,数据库生成的时候怎么设置别名呢?我用 MS ACCESS新建了一个abc.mdb,没有设置别名的项啊。。
    我想是用自己的数据库,不用DEMO。。
      

  4.   

    ghostmirror(mirror) 我的F盘下有abc.mdb的access数据库,在这个属性项里写f:\abc.mdb,然后设置TableName时显示Invalid directory
    Directory:f:\abc.mdb这是怎么回事呢??
      

  5.   

    cxz7531(追求未知) 能说说具体如何做吗?可否不设置ODBC??
      

  6.   

    要和数据库连接,就要连接ODBC呀
      

  7.   

    那我具体是不是应该这样:
    1,配置ODBC,建别名为abc,绑定数据库为f:\abc.mdb
    2,在DELPHI的TTable组件中,给DatebaseName赋值abc就可以了?OK,通过,谢谢!!!
    为什么设置TableName属性时要求输入密码。。在ODBC中我没有设置密码,直接确定也能通过,不过这点有点讨厌,也许参考书后面会讲到。。
    DatebaseName属性搞定,谢谢楼上三位大侠..
      

  8.   

    是这样的,这个'Delphi_Demos'是一个数据库别名,它用来指定你的数据库所在的目录,这个别名是你自己定义的,对文本型数据库可以有两种方法指定它路径,一是设定一个数据库别名,在这个数据库别名中指定你的数据库的存放路径,然后在Table的DataBaseName中指定这个数据库别名,一个是直接在Table的DataBaseName中指定你的数据库的路径,至于数据库别名的设定是在BDE内,你可以看一下你的书上关于数据库别名的设定就明白了,非常的简单。比如说,你将所有的数据表都放在C盘根目录下,你就可以在数据库别名Delphi_demos中指定数据库的路径为"C:\",或者直接指定Table1.DatabaseName := 'c:\';都可以,然后你就可以在Table的TableName属性中看到这个目录下所有的数据表的,这时你就可以在这个属性中设定你要操作的数据表了。不过,这种方法对Paradox,dbase,FoxPro都适用,但对Access数据库不适用,对Access要用ADO的方法来连接。
      

  9.   

    如果你用数据源的方式连接的话,为了不出现密码提示窗口应该这样做。
    1.放一个TDataBase组件到窗体上
    2.设定aliasName为你的数据源名,DataBaseName为一个你自定义的名字,比如说'ffm',然后将
    LoginPrompt属性设为False。
    3.将Table的DataBaseName指定为ffm,然后TableName中就不要密码了!