您现在的位置: 天下网吧 >> 网吧天地 >> 天下码农 >> 后端开发 >> PHP >> 正文

Delphi开发工具中如何访问数据库结构

2008-11-7计算机与信息技术佚名

  在开发数据库软件的过程中,由于实际需求不断发生变化,数据库结构也将随之改变,这会给文档更新工作带来很大困难。如果能够用软件自动获得数据库的结构信息并生成报告文件,将减轻软件的文档工作量。

  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:为返回结果,结果按字母顺序排序。

欢迎访问最专业的网吧论坛,无盘论坛,网吧经营,网咖管理,网吧专业论坛 https://bbs.txwb.com

关注天下网吧微信/下载天下网吧APP/天下网吧小程序,一起来超精彩

本文来源:计算机与信息技术 作者:佚名

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系邮箱:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧 网吧天下