DELPHI基础教程:数据浏览部件的应用及编程(一)[2]

如题所述

第1个回答  2022-11-03

  Enabled属性 当数据浏览部件连接到数据集部件时 它的Enabled属性决定了数据浏览部件能否接受来自鼠标 键盘和定时器事件的消息 当Enabled属性值为False时 数据浏览部件将变为无效而不能接受外界的信息 当与数据浏览部件相连的TDataSource部件的Enabled属性为False时或与数据源部件TDataSource部件相连的数据集部件TTable或TQuery部件的Active属性为False时 数据浏览部件也会随之而变为无效

  ReadOnly属性 大多数的数据浏览部件能够用来编辑修改与之对应的字段 因而有ReadOnly属性 该属性用来控制是否可以在数据浏览中编辑修改字段的值 缺省情况下 该属性的值为False 也就是说用户可以在其中编辑修改字段的值

  当然用户要想通过数据浏览部件编辑修改数据库表中的记录字段时 还要受到其它因素的制约 除了数据浏览部件本身的ReadOnly属性设置为False外 还要设置其相应的字段部件和数据集部件的CanModify属性True性 设置TDataSource部件的AutoEdit属性为True 如果数据库表是SQL数据库服务器中的数据库表 用户必须要具有读写数据库的权限等 当然在实际的程序设计过程中并没有这样繁琐 因为很多属性的缺省值都是允许用户修改表中的记录的

  除了TDBGrid部件之外 如果通过一个数据浏览部件修改字段值 那么当光标(或焦点)离开数据浏览部件时 数据浏览部件中被修改的值就会自动地被写回到磁盘数据库中 若在焦点没有离开数据浏览部件之前 按ESC键 那么Delphi会自动地放弃其对字段值的修改 在TDBGrid部件中修改表中的记录时 只有当焦点离开当前的记录时 即记录指针移到其他记录上时 用户对当前记录的修改会被写回磁盘上的数据库表 在焦点没有离开当前记录时 按ESC键 Delphi会自动放弃对当前记录的修改

   使用TDBText部件显示表中的数据

  TDBText部件是一个只读的数据浏览部件 它类似于TLabel部件 只是TDBText 部件用于显示数据库表中记录的指定字段的值 因为TDBText部件显示的是表中当前记录的指定的字段的值 因而它显示的内容也是动态的 在其中显示的内容随着记录指针的移动而变化 用TDBText部件显示Customer DB表中的Company字段信息时可用如图 所示的窗体来实现

  其中各部件的属性设置如表 所示

  表 表中各部件的属性设置

  ━━━━━━━━━━━━━━━━━━━

  属 性 属 性 值

  ───────────────────

  Table DatabaseName DEMOS

  Table TableName Customer DB

  Datasource DataSet Table

  DBText DataSource DataSource

  DBText DBField Company

  ━━━━━━━━━━━━━━━━━━━

   使用TDBEdit部件显示和编辑表中的数据

  TDBEdit部件是专门用于显示编辑数据库表中当前记录的各个字段值的数据浏览部件 在应用程序中 我们常常用一个TDBEdit部件来对应表中一个字段 通过设置TDBEdit部件的DataSource DataField属性便可以为TDBEdit部件指定表中相应的字段 如果用户希望能通过TDBEdit部件编辑修改数据库表中的字段值 还要设置TDBEdit部件的ReadOnly属性为False 设置与TDBEdit相连的数据源部件TdataSource部件的AutoEdit属性为True以及确保与TDataSource部件相连的数据集部件TTable或TQuery部件处于编辑状态 即设置它们的CanModify属性为True

  例如 在图 所示的窗体中 使用多个TDBEdit部件显示和编辑Customer DB表中当前记录的各个字段 窗体中各部件的属性如表 所示

  图 用TDBEdit部件显示和编辑表中的数据

  表 窗体中各部件的属性

  ━━━━━━━━━━━━━━━━━━━━

  属 性 属 性 值

  ────────────────────

  Table DatabaseName DEMOS

  Table TableName Customer DB

  Datasource DataSet Table

  DataSource AutoEdit True

  DBNavigator DataSource DataSource

  ━━━━━━━━━━━━━━━━━━━━

  窗体中其它部件都是TLabel部件和TDBEdit部件 TLabel部件用于显示表中各字段的名字 TDBEdit部件对应表中各个字段 程序运行之后如图 所示 用户可以在其中任何一个TDBEdit部件中修改其中的字段值

  用TDBEdit部件显示和修改表中的数据

  窗体中还使用了一个TDBNavigator部件 使用它的目的是在表中移动记录指针 还可以进行修改 插入 删除记录等操作 具体的使用和操作参看 TDBNaigator部件的使用一节

   用TDBGrid部件显示和编辑表中的数据

  TDBGrid部件和TDBEdit部件一样 它们是专门用来显示和编辑数据库表中的数据的 但TDBGrid部件的功能更强大一些 它可以以网格的形式显示数据库表中全部记录的所有字段信息

  用TDBGrid显示数据库表中的记录信息

   返回目录 DELPHI基础教程

       编辑推荐

       Java程序设计培训视频教程

       J EE高级框架实战培训视频教程

  Visual C++音频/视频技术开发与实战

  Oracle索引技术

  ORACLE G数据库开发优化指南

  Java程序性能优化 让你的Java程序更快 更稳定

  C嵌入式编程设计模式

  Android游戏开发实践指南

lishixinzhi/Article/program/Delphi/201311/25152

相似回答