DELPHI基础教程:数据访问部件的应用及编程(一)[1]

 我来答
华源网络
2022-11-14 · TA获得超过5599个赞
知道小有建树答主
回答量:2486
采纳率:100%
帮助的人:148万
展开全部

  在这一章里我们主要介绍Delphi的数据访问部件的层次结构 多部件之间的关系 部件的属性 方法 事件以及各部件的应用 这些部件包括

  ● TSession部件

  ● 数据集部件(TTable和TQuery)

  ● TDatasource部件

  ● 字段对象TField

  ● 字段编辑器的使用

  ● TReport部件和TBatchMove部件

  我们对这些部件的属性 方法和事件进行一般性的描述 读者在实际使用Delphi开发应用程序时 还可以通过联机帮助获得有关部件更详细的信息

   Delphi数据访问部件的层次结构

  Delphi提供了强大的开发数据库应用程序的能力 它给用户提供了大量的数据访问部件 以方便程序设计人员开发数据库应用程序 这些部件中 有些部件继承了另一些部件的属性 方法和事件 也就是说多部件之间存在着继承和被继承的关系 各部件的这种关联便构成了一个层次结构

  TSession是全局性的部件 在应用程序运行时 它自动地建立 在设计阶段和运行过程中它是一个不可见的部件

  TDatabase部件是为开发客户/服务器数据库应用程序时 设置登录的数据库的有关参数的 它在数据访问部件页上

  TDataset部件是不可见的 TTable和TQuery部件是由它派生而来的 这两个部件一般被称为数据集部件 它们在数据访问部件页上

  TDatasource部件是连接数据集部件和数据浏览部件的桥梁 它在数据访问部件页上

  TFields部件对应于数据库表中的实际字段 它既可以在应用程序的运行过程中动态地生成也可以在程序设计阶段用字段编辑器创建 它是不可见的部件 在程序中我们可以通过TField部件来访问数据库记录的各个字段值

   Tsession部件及其应用

  TSession部件一般用得较少 但它对于一些特殊的应用是很有用的 在每一个数据库应用程序运行时Delphi自动地创建一个TSession部件 程序设计人既不能看见该部件也不能显示地创建一个TSession 部件 但是我们可以在应用程序中全局性地使用TSession部件的属性 方法

   TSession部件的重要属性及作用

  TSession部件的许多重要属性是用于控制数据库应用程序与数据库的连接的 在一个应用程序中 可以全局性地设置TSession的有关属性值 对与之相连接的磁盘上的数据库进行控制 TSession部件主要有下列属性

  Database属性 是TSession中可以进行连接的所有数据库的数据库名字列表 这些数据库的名字常常是实际数据库的别名 包括数据库的路径 用户名 用户登录口令等参数

  DatabaseCount属性 是TSession中可以进行连接的所有数据库的数量 它是一个整数

  KeepCounnections属性 是一个布尔型属性 用它说明应用程序是否保持与一个非活动数据库的连接 因为对于一个数据库 当该数据库中没有相应的数据集部件(TTable或TQuery)被打开时 该数据库将自动地变成非活动的数据库 缺省情况下 KeePcounnections的值是True 就是说应用程序总是保持着与数据库的连接 即使数据库变成了非活动的数据库时 也是如此 如果将KeepConnections属性设置成False 那么当数据库由活动状态变成非活动状态时 应用程序与该数据库的连接也随之中断

  NetFileDir属性 说明BDE网络控制文件的路径名

  PrivateDir属性 说明存取临时文件的路径名

   TSession部件的方法

  TSession部件中的大部分方法是用于向用户提供与应用程序相连接的数据库的信息 如数据库的名字及别名 数据库中的表名以及数据库引擎BDE的有关参数等 在设计数据库应用程序时 想要获取有关数据库的信息 调用TSession部件的下列方法 将会大大简化程序的设计

  GetAliasNames方法 调用该方法 我们可以获得数据库引擎BDE中定义的数据库别名

  GetAliasParams方法 该方法主要用于获取我们在BDE中定义数据库别名时所说明的参数值 如BDE所在的目录路径以及实际名称等

  GetDatabaseNames 方法 调用该方法可以帮助我们获得当前应用程序可以进行连接的所有数据库的名字 数据库的名字是用户使用BDE工具定义的实际数据库的别名

  GetDriverNames方法 数据库引擎BDE可以与多种数据库管理系统相连接 如客户/服务器数据库管理系统Oracle Sybase以及本地数据库管理系统dBASE Paradox等 BDE与每一种数据库管理系统进行连接时 都有相应的驱动程序 而且这些驱动程序都可以选择地安装 通过调用GetDriverNames方法 我们可以获得当前BDE安装的数据库驱动程序的名字

  GetDriverParams方法 BDE的数据库驱动程序中包含着多个参数 如支持的民族语言 DBMS的版本号 文件块大小等 对于服务器上的DBMS 还有数据库服务器的名字等等

  GetTableNames方法 因为每一个数据库都是由多个数据库表组成的 我们通过说明数据库名 然后调用GetTableNames方法 便可以获得该数据库中全部的数据库表的名字

  上述这些方法在调用时都需要一个字符串列表作为参数 而且都返回一个字符串列表的值

  TSession部件还有一个叫DropConnections的方法用于控制应用程序与数据库的连接 当调用DropConnections方法时 应用程序与所有的数据库的连接将会切断

   TSession部件应用举例

  例 :我们创建一个应用程序 通过调用TSession有关的方法获取当前应用程序可以进行连接的数据库的名字以及获取其中任意一个数据库中的全部数据库表的名字

  通过TSession部件获取数据库的有关信息

  窗体中主要使用了两个列表框 其中列表框DatabaselistBox用于显示数据库的名字 列表框TablelistBox用于显示数据库中的表名 程序运行完后数据库的名字显示在DatabaselistBox列表框中 当用户单击DatabaselistBox列表框中的数据库名时 该数据库全部的数据库表的名字将会显示在TablelistBox列表框中 有关的程序代码如下

lishixinzhi/Article/program/Delphi/201311/25161

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
上海华然企业咨询
2024-10-21 广告
上海华然企业咨询有限公司专注于AI与数据合规咨询服务。我们的核心团队来自头部互联网企业、红圈律所和专业安全服务机构。凭借深刻的AI产品理解、上百个AI产品的合规咨询和算法备案经验,为客户提供专业的算法备案、AI安全评估、数据出境等合规服务,... 点击进入详情页
本回答由上海华然企业咨询提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式