在Delphi中树立和运用别号-Delphi-优质IT资源分享社区

admin
管理员
管理员
  • UID1
  • 粉丝26
  • 关注4
  • 发帖数581
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:141回复:0

  在Delphi中树立和运用别号

楼主#
更多 发布于:2016-06-19 12:19

 在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能够检查和决议别号的可见性、盯梢别号名和别的衔接驱动信息以及树立、
修正和删去别号。
Session的设置形式(ConfigMode)
特点,决议了什么样的BDE别号对它是可见的。默许设置是cmAll,它可解说成[cfmVirtualorcfmPersistent]。假如设置形式值为cmAll,由Session树立的一切别号、用户体系BDE设置文件中预界说的别号以及BDE在内存中保护的一切别号均可见。
设置形式的主要意图是,答应应用程序具体阐明和限制别号在Session级别上的可见性。例如把设置形式
设置成[cfmSession],可使Session只可见那些由其树立的别号,一切别的的别号都无效。
当别号在Session存在时期树立后,BDE在内存中树立一个它的复制。这个部分复制只对树立它的Session
有用,除非在同一个应用程序中别的Session的形式设置成cmAll或cfmPersistent。
运用Session的SaveConfigFile办法,能够将内存中的别号写入BDE设置文件中,这么别的BDE答应的应用程序就能够运用该别号。
Session组件有五个办法,答应应用程序盯梢BDE别号的参数和驱动程序等信息:
GetAliasNames:列出Session已经处理过的别号;
GetAliasParams:列出指定的别号的参数;
GetAliasDriverName:回来包括别号运用的驱动程序名的字符串;
GetDriverNames:回来一切有用的BDE驱动程序;
GetDriverParams:回来指定的驱动程序的驱动参数。
Session能够在其存在时期树立、修正和删去别号。办法AddAlias为SQL数据库服务器树立一个新的BDE据作业区。办法AddStandardAlias为PARADOX、DBASE、ASCII表树立一个新的BDE规范别号。
AddAlias需求三个参数:一个包括别号作业区名的字符串、一个阐明SQL衔接驱动类型的字符串、一个聚集衔接参数的列表字符串,其格局为:
procedureAddAlias(constName, Driver:string;List:TStrings);
AddStandardAlias需求三个参数:别号名、PARADOX和DBASE表寄存的完好途径、当企图打开一个没有扩展名表时的默许驱动类型,其格局为:
procedureAddStandardAlias(const Name,Path,DefaultDriver:string);
当为Session增加一个别号时,它仅对该Session和别的设置形式值为cfmPersistent的Session有用。为了使新建的别号对一切的应用程序有用,在树立别号后应当调用SaveConfigFile办法。
修正别号能够调用进程ModifyAlias,它需求二个参数:即将修正的别号名和包括修正后衔接参数值的列表串,格局为:
procedureModifyAlias(Name: string;List:TStrings);
办法DeleteAlias能够使别号对Session
无效,但它不会删去写入BDE设置文件的别号。假如要将其从BDE设置文件中删去,需求在调用DeleteAlias后再调用SaveConfigFile。DeleteAlias只需一个参数:别号名。其格局为:
procedureDeleteAlias(const Name:string);
运用Session操作别号具有更大的灵活性,将给编程和发布程序尤其是C/S应用程序带来很大便利。以上例程在Win95、Delphi3.0下调试经过。









[font=Tahoma  ]
优质IT资源分享社区为你提供此文。
本站有大量优质Delphi教程视频,资料等资源,包含Delphi基础教程,高级进阶教程等等,教程视频资源涵盖传智播客,极客学院,达内,北大青鸟,猎豹网校等等IT职业培训机构的培训教学视频,价值巨大。欢迎点击下方链接查看。
Delphi教程视频
优质IT资源分享社区(www.itziyuan.top)
一个免费,自由,开放,共享,平等,互助的优质IT资源分享网站。
专注免费分享各大IT培训机构最新培训教学视频,为你的IT学习助力!

!!!回帖受限制请看点击这里!!!
!!!资源失效请在此版块发帖说明!!!

[PS:按 CTRL+D收藏本站网址~]

——“优质IT资源分享社区”管理员专用签名~

本版相似帖子

游客