在Delphi中建立和使用别名

2008-04-09 04:17:27来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

在Delphi中建立和使用别名

  通常我们在Delphi外,通过使用Borland 数据库引擎(BDE)的设置单元(bdecfg.exe)来建立和设置别名(Alias),但是,实际上用户可以在Delphi或应用程序中用TDatabaseComponent或其他方法建立和使用别名,而不必在IDAPI.CFG中预先定义。

  建立有效的别名是非常重要的, 别名详细说明了数据库的定位信息和连接数据库服务器的参数,当发布应 用程序时不必担心IDAPI.CFG中是否有某项设置。

利用TDatabaseComponent建立别名
  建立和设置一 个使用标准数据库的别名的步骤如下。//通过“对象观察器”建立BDE别名:
  1.建立一个新工程(Project)。
  2.将组件(Component)TDatabase、TTable、TDataSource、TDBGrid 和TButton放在FORM上。
  3.双击TDatabaseComponent或在TDatabase快速菜 单上选择DatabaseEditor运行Database属性编辑器。
  4.将DatabaseName设置成‘ZldchAlias’,这个名字 将被当作别名,用来设置数据集组件TTable、TQuery、TStoredProc等的DatabaseName属性。
  5.将DriverName设置成STANDARD。
  6.单击Defaults按钮,将PATH=自动加在Parameter Overrides框中。
  7.将PATH=设置成PATH=C:,单击OK按钮关闭Database Editor。
  8.单击OK按钮关闭DatabaseEditor。
  9.将TTable的DatabaseName属性设置成‘ZldchAlias’。
  10.将TDataSource的DataSet属性设置成‘Table1’。
  11.将DBGrid的DataSource属性设置成‘DataSource1’。
  12.在Tbutton的OnClick事件过程中加入下列代码:

procedureTForm1.Button1Click(Sender:Tobject);
begin
Table1.Tablename=‘customer’;
Table1.Active:=true;
end;

  13.运行程序。
  上面3~12步也可以用以下过程实现:

MyAddStandAlias(AliasN:String;DbLocat:String;DriverN:string );//使用程序的方法建立BDE别名
//{AliasN别名名,
//DbLocat数据库定位目录,DriverN联结驱动类型}
begin
withForm1.Database1do< begin
DatabaseName:=AliasN;
DriverName:= ‘STANDARD’;
Params.Clear;
Params.Add(‘PATH=’ +DbLocat);
Params.Add(‘DEFAULT DRIVER=’+DriverN);
end
end;

procedureTForm1.Button1Click(Sender:Tobject);
begin
MyAddStandAlias(‘ZldchAlias’,‘C:PARADOX’);
Table1.DatabaseName:=‘ZldchAlias’;
DataSource1.DataSet:=Table1;
DBGrid1.DataSource:=DataSource1;
Table1.Tablename=‘customer’;
Table1.Active:=true;
end;

建立使用INTRBASE数据库的别名
  建立使用INTRBASE 数据库别名的步骤如下。
  1~4步同上。
  5.将DriverName设置为INTRBASE。
  6.单击Defaults按钮,下列内容 会自动加在ParameterOverrides框中:

SERVERNAME=IB_SERVER:/PATH/DATABASE.GDB
USERNAME=MYNAME
OPENMODE=READ/WRITE
SCHEMACACHESIZE=8
LANGDRIVER=
SQLQRYMODE=
SQLPASSTHRUMODE=NOTSHARED
SCHEMACACHETIME=-1
PASSWORD=

  7.将以上内容改为:

SERVERNAME=C:\ProgramFiles\Borland\Delphi 3\Demos\Data\EMPLOYEE.GDB
USERNAME=SYSDBA
OPENMODE=READ/WRITE
SCHEMACACHESIZE=8
LANGDRIVER=
SQLQRYMODE=
SQLPASSTHRUMODE=NOTSHARED
SCHEMACACHETIME=-1
PASSWORD=masterkey

  8.将TDatabase的属性LoginPrompt 设置成‘False’,如用户在ParameterOverrides框中给出了正确的PASSWORD,连接数据库时将不会提示要求输入口令。请注意:如果在ParameterOverrides 框中给出的PASSWORD不正确,而TDatabase的属性LoginPrompt设置为‘False’,程序运行时将出错,但并不会提示要求重新输入正确口令。Intrbase安装 后,系统唯一授权的用户是SYSDBA,缺省口令是“masterkey”,所有其他的用户都必须由SYSDBA添加,所以在Intrbase系统安装后要尽快更改用户SYSDBA 的口令。

  9、10、12步同上文的8、9、11步。
  11.将TDataSource的DataSet属 性设置成‘Query1’。
  13.在Tbutton的OnClick事件过 程中加入下列代码:

procedureTForm1.Button1Click(Sender:Tobject);
begin
Query1.SQL.Clear;
Query1.SQL.ADD(‘SELECT DISTINCT*FROMCUSTOMERC,SALESSWHERE (S.CUST_NO=C.CUST_NO)ORDERBYC.CUST_NO,C.CUSTOMER’);
Query1.Active:=True;
end;

  14.运行程序。
  过程MyAddStandAlias的参数可以 通过各种方式赋值。目录、服务器名、路径、数据库名和其他别名所需的参 数都可以通过输入对话框或从.INI文件读入程序中。通过以上方法建立的别名只在程序运行时存在,其他应用程序不能使用。

利用Session建立、修改、删除别名
  所有数据库管理应用程序 都自动提供一个名为Session的Session组件。每个和数据库程序相关的数 据集组件都包含SessionName属性,它决定了和该组件相关的Session组件。 因为Session封装了一系列数据库连接特性,大部分Session组件的方法都通过BDE别名工作。每个和Session有关联的数据库组件都有别名(尽管在 处理PARADOX和DBASE数据库时,完整的路径可以取代别名),通过Session可以检测和决定别名的可见性、跟踪别名名和其他连接驱动信息以及建立、 修改和删除别名。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:用Delphi编程访问SQLServer数据库

下一篇:数据库应用程序开发中图像数据的存取技术