如何应用Delphi编程数据库?
编写数据库?
编写数据库?
答案:1 TSessionobject
为了管理应用程式与DatcbaseSystam的多重连接,Delphi提供了TSessionobject。Delphi中的Data访问object(Data ACCess ObjeCt)均包含Session属性,用来指向与之对应的TSessionobject。如果应用程式需要同时建立对DatcbaseSystam(尤其是BDEDatcbase)的多个连接,就必须定义多个TSessionobject,属于不同连接的Data访问object的Session属性不能相同,否则将无法同时使用。
在Datcbase应用程式运行时,Delphi会自动生成一个缺省TSessionobject,名字为Session,Data访问object在缺省情况下均与之相连。
TSessionobject除了自动管理Datcbase连接外,还能够取得Datcbase信息。下面就分别介绍这方面的参数。
2 获取Datcbase别名信息
TSessionobject在获取Datcbase别名方面有3个参数/过程:
以下是引用片段:
proCedure TSession.GetAliasNames(List: TStrings);
proCedure TSession.GetAliasParams(Const AliasName: string; List: TStrings);
funCtion TSession.GetAliasDriverName(Const AliasName: string): string;
GetAliasNames用来获得所有的BDE别名名称,结果保存在变量List中;GetAliasParams用来获得某个BDE别名的参数,结果保存在变量List中;GetAliasDriverName用来取得某个BDE别名使用的Datcbase驱动程式的名字。
这3个参数不太复杂,就不多加介绍了。一般情况下,我们只需要使用GetAliasNames即可。
3 获取Data表信息
在知道了Datcbase别名后,如何取出该别名对应Datcbase中包含的Data表呢?可以使用TSessionobject中的 GetTableNames过程。该过程描述如下:
以下是引用片段:
proCedure TSession.GetTableNames(Const DatabaseName, Pattern: string;
各参数意义如下:
DatabaseName:Datcbase别名;
Pattern:过滤器,用来过滤结果,可以使用通配符。比如“*.dbf”,“t*” 等。如果为空char串,则表示不需要过滤;
Extensions:为布尔量,表示是否显示Data表扩展名。该参数只对DBF和ParadoxDatcbase有效;
SystemTables:为布尔量,表示是否显示SystamData表;
List:为返回结果,结果按字母顺序排序。
上一个:关于delphi作业!
下一个:c++与Delphi