DELPHI基础教程:Delphi开发数据库应用程序概述(一)[3]

DELPHI基础教程:Delphi开发数据库应用程序概述(一)[3],第1张

Visual Query Builder 以可视化的方式建立SQL语句对数据库表和表中的记录进行 *** 作

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

SQL links使得Delphi数据库应用程序利用SQL语言访问驻留在远程服务器上的数据 这些服务器包括ORACLE Sybase Microsoft SQL Server Informix InterBase 当安装SQL Link驱动程序之后 SQL语句便可以直接 *** 作服务器上的数据

Delphi可以访问的数据源(DataSource)

Delphi数据库应用程序是通过BDE获取它们所需的数据的 BDE与不同类型的数据源打交道 BDE可以使用的数据源有如表 所示

表 Delphi可访问的数据源

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

数据源(DataSource)   特 性 描 述  文件扩展名

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

dBASE数据库  数据库表是通过dBASE数据库管理系统或DBD建立的 每个表是一个独立的文件  DBF

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

Paradox数据库  数据库表是通过Paradox数据库管理系统  DB或DBD建立的 每个表是一个独立的文件

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

ASCII文件  表是通过Database Desktop建立的 每个  TXT表是一个独立的文件

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

本地InterBase服务器  数据库是通过InterBase数据库管理系统  GDB建立的 多个表包含在一个数据库文件中

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

SQL数据库服务器   数据库是通过相应的数据库服务器提供的 依赖不同的ORACLE Sybase Informix 专用或通用工具建立的 也可以通过DBD来 数据库管理Microsoft SQL Server  创建数据库 并通过SQL Link访问数据库  系统InterBase

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

ODBC数据源  主要是指那些具有ODBC接口的数据库系统 依赖于相应如MS Access Btrieve等的数据库

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

Delphi数据库的体系结构

Delphi使用可视化的部件创建数据库应用 跟创建其它的非数据库应用程序一样 数据库部件都具备一定的属性 程序设计人员可以在设计过程中设置部件的多种属性 也可以在程序运行过程中通过程序来设置部件的各种属性

在Delphi部件板上有两页数据库部件用于开发数据库应用程序

数据访问部件页 该页上的部件主要用于说明有关的数据库的信息 如应用程序要访问(连接)的数据库 要访问数据库中的具体的数据库表 以及要访问表中哪些字段等 在实际的开发应用中常用的部件有TDataSource TTable TQuery等

数据控制部件页 该页上的部件主要用于显示浏览数据库中的数据信息 为用户提供了一个可视化的界面 常用的部件有 TDBGrid TDBEdit TDBCheck等 可以让用户对数据库中的信息进行有效的浏览 编辑 插入 删除等 *** 作

TTable TQuery TStoredproc部件负责与实际的数据库表联系 并从中获取数据信息 因而它们又常常被称为数据集部件 它们在程序设计过程中是可见的 但在程序运行时是不可见的 它们通过 BDE 为应用程序提供与数据库的连接 数据控制部件通过TDataSource部件与数据集部件相连 为用户提供一个可视化的界面 并在其中显示数据库中的数据信息

数据访问部件

数据访问部件页上提供了一组数据访问部件用来访问数据库中的数据

当要创建一个数据库应用时 首先在窗体中选择一个数据访问部件 然后为数据访问部件设置有关的属性 说明要访问的数据库 数据表以及表中的记录等 数据访问部件为数据控制部件与数据源建立一条通道 数据访问部件在程序运行时是不可见的 下表列出了数据访问页上的数据访问部件以及它们的主要用途

表 数据访问部件

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

部件名称   主 要 用 途

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

作为数据集部件TTable TQuery StoredProc组TDataSource 件与数据浏览件TDBGrid TDBEdit之间传送数据的通道

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

TTable  它是存取磁盘上数据库表的媒介 它通过BDE存取数据库表中的数据 TTable再与TDataSource进行 对话 使得数据浏览部件能够有效地从TTable中访问数据并能显示和编辑其中的数据

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

TQuery  它利用SQL语言访问磁盘上数据库表中的数据 并与TDataSource 对话 实现数据浏览部件对数据库的访问

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

TStoredProc 在应用程序中 它主要用来访问远程服务器中的存贮过程

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

TDatabase  当应用程序要登录到一个远程服务器上的数据库时 可以用该部件来建立应用程序与数据库永久

性的连接

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

TBatchMove 用于复制数据库表的结构或表中的记录

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

TReport  用于创建数据库的输出报表

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

lishixinzhi/Article/program/Delphi/201311/25180

以RTF格式显示文本

TDBRichEdit构件可以认为是TRichEdit构件的数据感知版本 用于以RTF格式显示BLOB字段中的格式化文本 它的用法类似于TDBMemo构件 也能显示多行文本

注意 尽管TDBRichEdit构件能够显示RTF格式的文本 并且提供了很强的编辑功能 但是 它本身并没有提供用户界面 应用程序必须设计出相应的用户界面 才能把TDBRichEdit 构件强大的功能发挥出来

默认情况下 TDBRichEdit构件允许用户键入新的文本 如果不想让用户修改文本 可以把ReadOnly属性设为True 要允许用户在文本中插入一个制表符 应当把WantTabs属性设为True 否则 当用户按下Tab键 将把输入焦点移走 而不是插入制表符

要限制用户最多可输入的字符数 可以设置MaxLength属性 如果这个属性设为 表示没有限制 如果AutoDisplay属性设为True 当DataField属性所指定的字段的内容改变了时 TDBRichEdit构件会自动刷新 如果AutoDisplay属性设为False TDBRichEdit构件上只显示字段名 用户必须双击这个构件或程序调用LoadMemo函数才能刷新数据

显示和编辑图像

TDBImage构件可以认为是TImage构件的数据感知版本 它可以显示BLOB字段的内容 TDBImage构件从数据集中检索了图像后 在本地以DIB格式建立一个副本

可以调用CutToClipboard或CopyToClipboard函数把图像剪切或复制到剪贴板中 调用 PasteFromClipboard可以从剪贴板中粘贴图像

如果Stretch属性设为True 图像将自动缩放 以适应TDBImage构件的大小 这样就可能造成图像变形

如果AutoDisplay属性设为True 当DataField属性所指定的字段的内容改变了时 TDBImage构件会自动刷新 如果这个属性设为False TDBImage构件上只显示字段名 用户必须双击这个构件才能刷新数据 当然也可以调用LoadPicture来刷新数据

用列表框和组合框显示和编辑数据

有 个特殊的数据控件可以用列表框和组合框显示和编辑数据 它们可以认为是标准的列表框和组合框的数据感知版本 下面简单介绍这 个数据控件

TDBListBox用列表框显示一组数据 让用户从中选择一个值

TDBComboBox用组合框显示一组数据 让用户从中选择一个值

TDBLookupListBox用列表框显示另一个数据集中的一组数据 让用户从中选择一个值

TDBLookupComboBox用组合框显示另一个数据集中的一组数据 让用户从中选择一个值

TDBComboBox

TDBComboBox构件实际上是TComboBox构件的数据感知版本 它能以组合框的形式显示一组数据 让用户从列表中选择一个值或直接输入一个值

Items属性用于设置列表中要显示的一组数据 在设计期 可以单击Items属性边上的省略号按钮打开一个字符串列表编辑器 然后输入一些字符串

DropDownCount属性用于设置当用户下拉组合框时不需要加滚动栏就能显示的项的个数 默认是 表示用户下拉组合框时如果项的个数超过 个才加上滚动栏 如果实际的项数还没有DropDownCount属性指定的值多 下拉的组合框的高度自动缩小

在Style属性设为csOwnerDrawFixed的情况下 ItemHeight属性用于设置项的高度  

显示另一个数据集中的数据

TDBLookupListBox构件和TDBLookupComboBox构件分别以列表框和组合框的形式显示另一个数据集中的数据

假设有一个表格叫OrdersTable 其中包含一个CustNo字段 用于表达客户的编号 但OrdersTable表中除了客户的编号外 不包含客户的其他信息 而另一个表格假设叫CustomersTable 除了有CustNo字段外 还有诸如客户的公司名称 地址等信息

TDBLookupListBox构件可以实现这样的功能 当用户在OrdersTable中浏览记录时 程序首先在CustomersTable中查找与CustNo字段匹配的记录 如果找不到 就从列表中查找与Company字段匹配的字符串 如果找到 就选择这一项

用复选框处理布尔类型的字段

TDBCheckBox构件可以认为是TCheckBox构件的数据感知版本 用于处理布尔类型的字段 例如 可以用一个复选框来表示客户是否已付帐

TDBCheckBox构件实际上是把字段的值与预设的两个字符串比较 这两个字符串分别由ValueChecked和ValueUnChecked属性指定 如果字段的值与ValueChecked属性指定的字符串匹配 就选中复选框 如果字段的值与ValueUnchecked属性指定的字符串匹配 就不选中复选框 注意 ValueChecked属性和ValueUnchecked属性所指定的字符串不能相同

一般情况下 ValueChecked属性设为 True Yes 之类的字符串 但也可以是其他任意的字符串 甚至是一组字符串 彼此之间要用分号隔开 例如

DBCheckBox ValueChecked := TrueYesOn

lishixinzhi/Article/program/Delphi/201311/8451


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9675281.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存