扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
1 TSession对象
为了管理应用程序与数据库系统的多重连接,Delphi提供了TSession对象。Delphi中的数据访问对象(Data Access Object)均包含Session属性,用来指向与之对应的TSession对象。如果应用程序需要同时建立对数据库系统(尤其是BDE数据库)的多个连接,就必须定义多个TSession对象,属于不同连接的数据访问对象的Session属性不能相同,否则将无法同时使用。
在数据库应用程序运行时,Delphi会自动生成一个缺省TSession对象,名字为Session,数据访问对象在缺省情况下均与之相连。
TSession对象除了自动管理数据库连接外,还能够取得数据库信息。下面就分别介绍这方面的函数。
2 获取数据库别名信息
TSession对象在获取数据库别名方面有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别名使用的数据库驱动程序的名字。
这3个函数不太复杂,就不多加介绍了。一般情况下,我们只需要使用GetAliasNames即可。
3 获取数据表信息
在知道了数据库别名后,如何取出该别名对应数据库中包含的数据表呢?可以使用TSession对象中的 GetTableNames过程。该过程描述如下:
以下是引用片段: procedure TSession.GetTableNames(const DatabaseName, Pattern: string; |
各参数意义如下:
DatabaseName:数据库别名;
Pattern:过滤器,用来过滤结果,可以使用通配符。比如“*.dbf”,“t*” 等。如果为空字符串,则表示不需要过滤;
Extensions:为布尔量,表示是否显示数据表扩展名。该参数只对DBF和Paradox数据库有效;
SystemTables:为布尔量,表示是否显示系统数据表;
List:为返回结果,结果按字母顺序排序。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者