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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DELPHI基础教程:数据访问部件的应用及编程(一)[1]相关的知识,希望对你有一定的参考价值。

参考技术A

  在这一章里我们主要介绍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

Qt入门教程数据模型篇模型/视图教程

模型/视图教程

每个 UI 开发人员都应该了解 ModelView 编程,本教程的目标是为您提供易于理解的本主题简介。

表、列表和树小部件是 GUI 中经常使用的组件。这些小部件有 2 种不同的方式可以访问其数据。传统方式涉及小部件,其中包括用于存储数据的内部容器。这种方法非常直观,但是,在许多重要的应用程序中,它会导致数据同步问题。第二种方法是模型/视图编程,其中小部件不维护内部数据容器。它们通过标准化接口访问外部数据,从而避免数据重复。乍一看,这似乎很复杂,但是一旦您仔细观察,它不仅易于掌握,而且模型/视图编程的许多好处也变得更加清晰。

在此过程中,我们将了解Qt提供的一些基本技术,例如:

  • 标准微件与模型/视图微件之间的区别
  • 表单和模型之间的适配器
  • 开发简单的模型/视图应用程序
  • 预定义模型
  • 中间主题,例如:
    • 树视图
    • 选择
    • 代理
    • 使用模型测试进行调试

您还将了解使用模型/视图编程是否可以更轻松地编写新应用程序,或者经典小部件是否也能正常工作。

本教程包含示例代码,供您编辑并集成到项目中。本教程的源代码位于Qt的示例/小部件/教程/模型视图目录中。

1. 引言

模型/视图是一种用于在处理数据集的小部件中将数据与视图分开的技术。标准小部件不是为将数据与视图分开而设计的,这就是为什么Qt有两种不同类型的小部件。这两种类型的小部件

以上是关于DELPHI基础教程:数据访问部件的应用及编程(一)[1]的主要内容,如果未能解决你的问题,请参考以下文章

DELPHI基础教程:开发Delphi对象式数据管理功能(五)[2]

Qt入门教程数据模型篇模型/视图教程

Qt入门教程数据模型篇模型/视图教程

DELPHI基础教程:SQL编程(二)[4]

DELPHI基础教程:开发Delphi对象式数据管理功能(一)[4]

delphi imoniker 在哪个单元