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

 我来答
新科技17
2022-11-16 · TA获得超过5904个赞
知道小有建树答主
回答量:355
采纳率:100%
帮助的人:75万
展开全部

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

   TSession对象

  为了管理应用程序与数据库系统的多重连接 Delphi提供了TSession对象 Delphi中的数据访问对象(Data Access Object)均包含Session属性 用来指向与之对应的TSession对象 如果应用程序需要同时建立对数据库系统(尤其是BDE数据库)的多个连接 就必须定义多个TSession对象 属于不同连接的数据访问对象的Session属性不能相同 否则将无法同时使用

  在数据库应用程序运行时 Delphi会自动生成一个缺省TSession对象 名字为Session 数据访问对象在缺省情况下均与之相连

  TSession对象除了自动管理数据库连接外 还能够取得数据库信息 下面就分别介绍这方面的函数

   获取数据库别名信息

  TSession对象在获取数据库别名方面有 个函数/过程

以下是引用片段   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别名使用的数据库驱动程序的名字

  这 个函数不太复杂 就不多加介绍了 一般情况下 我们只需要使用GetAliasNames即可

   获取数据表信息

  在知道了数据库别名后 如何取出该别名对应数据库中包含的数据表呢?可以使用TSession对象中的 GetTableNames过程 该过程描述如下

以下是引用片段 procedure TSession GetTableNames(const DatabaseName  Pattern: string;

  各参数意义如下

  DatabaseName 数据库别名;

  Pattern 过滤器 用来过滤结果 可以使用通配符 比如 * dbf t* 等 如果为空字符串 则表示不需要过滤;

  Extensions 为布尔量 表示是否显示数据表扩展名 该参数只对DBF和Paradox数据库有效;

  SystemTables 为布尔量 表示是否显示系统数据表;

  List 为返回结果 结果按字母顺序排序

lishixinzhi/Article/program/Delphi/201311/8542

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式