当前位置:首页 » 数据仓库 » 数据库组件
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

数据库组件

发布时间: 2022-08-19 07:16:59

⑴ 2. 与数据库相关的组件主要有哪些简述这些组件的属性和方法以及它们的使用方法。

1 Session组件。它提供应用程序中数据库的有关信息,在单机数据库编程中不显式地使用它,这是因为每个数据库应用程序运行时,Delphi将自动创建一个缺省Session组件,用户可在程序中使用这个缺省的Session组件,而没有必要在设计时设置一个Session组件。Table、Query等组件的属性中有一个SessionName属性,缺省为“Default”,这就是缺省的Session组件。比较常用的是用它的GetTableNames方法,在一些查询有时需要用户选择数据库中的数据表名称列表。比如在列表框中列出我们的数据库别名lklb中所有的数据表名称,代码如下(窗体上要有激活的数据集组件并指明了数据库别名):

procere TForm1.Button1Click(Sender: TObject);

var MyStringList :TStringList;

begin

MyStringList := TStringList.Create;

try

Session.GetTableNames('lklb', '',False, False, MyStringList);

ListBox1.Items := MyStringList;

finally

MyStringList.Free;

end;

end;

GetTableNames方法的语法如下,

语法:Session.GetTableNames(DataBaseName,Pattern,Extensions,SystemTables,List)。

参数说明:

DataBaseName——数据库名称。

Pattern——数据表类型,用来限制返回哪种类型的数据表,比如是.DB还是.DBF,如果为空则返回所有类型数据表,可以用通配符。

Extentions——布尔型变量,控制返回的数据表是否有扩展名。

SystemTables——对一些数据库来说有系统数据表,若设定为True则返回的数据表名称包括系统数据表。一般设定为False 。

List—保存数据表名称的字符串行表。

2 DBNavigator组件。DBNavigator组件主要用于为用户操作数据集中的记录提供简捷的控制按钮。用户单击其中的按钮就可完成移动记录指针、插入、删除、修改、保存、刷新记录等功能。它的 VisibleButtons属性可指定哪些按钮显示,通过设置Hints属性可以为各控制按钮设置其他的动态提示信息,用户自己设置的动态提示信息会覆盖原来的提示信息,对我们来说提示信息写成中文比较好。

3 DBtext组件。相当于标签(Label)组件,只不过它用于显示数据库中的字段值,其显示内容随记录指针的变化而变化。它的DataField属性指定要显示内容的字段名称。

4 DBEdit组件。用于显示、修改数据表字段值。由于DBEdit一般用来修改或添加新记录使用,所以其ReadOnly属性一般设定为False,若设定为True则不可修改字段内容。

5 DBMemo组件。主要用于显示和编辑数据库表中的大二进制(BLOB)类型的字段值,一般用来处理备注型字段的值,能够显示多行文本。MaxLength属性设置该属性的值用于限制用户向DBMemo 组件中输入字符的个数。若设置该值为0时,表示输入字符的个数没有限制。注意:在运行过程中,用户对DBMemo组件中显示的文本信息是不能够进行剪切、拷贝和粘贴操作的。由于DBMemo组件中包含着大量的文本信息,当指针移动时要更新显示其中的信息需要花费很多的时间,用户可以通过AutoDisplay属性来控制是否自动显示表中的备注型字段。当AutoDisplay设置为False时,在DBMemo组件中只显示其对应表中的字段名而不显示字段中的文本信息,用户如果想浏览字段中的文本信息,用鼠标左键双击DBMemo组件的内部即可;当设置AutoDisplay属性为True时,在DBMemo组件中会自动地显示其对应数据库表中的字段值。

6 DBImage组件。与DBMemo组件类似,它是用来显示和编辑数据库表中的BLOB类型的位图图像字段的。DBImage的ReadOnly属性值若设定为False,就允许用户对位图图像进行编辑,如将图像剪切或拷贝到剪帖板上或从剪帖板上粘帖到DBImage组件中等操作。

7 DBListBox组件。用来当用户修改字段值时显示一个字段值列表供用户选择。在运行过程中,用户单击其中的可选项可以为DBListBox 组件对应的字段赋值,用户不能自己从键盘上输入一个列表框中不存在的字段值。

8 DBComboBox组件。可以认为它是DBEdit组件和DBListBox组件的合成,DBComboBox的可选项也是在设计阶段由程序设计人员设计的。当用户修改当前记录中的字段时,可以直接输入新的字段,也可以打开下拉式列表框选择其中的一个可选项(受Style属性的限制)。Sorted属性决定列表框中的可选项是否按字母的排列顺序排序。 技巧:DBComboBox组件和ComboBox组件有类似的智能查找功能:当用户在编辑框中输入一个字符或汉字后,打开下拉框,会自动移到与第一个字符相同的选项处,依次下去,用户一般只需输入少量的几个字符就可以找到相应的选项。这在选项比较多的情况下非常有用。当然,Sorted属性必须设定为True,否则可能会找不到所需的选项。

9 DBLookupListBox组件。该组件提供多个可选项,但这多个可选项是从相关的其它数据库表中读取的,不是设计时手工输入的,这是其特点。ListSource属性指明DBLookupListBox组件列表选项的数据源,这是非常重要的,否则DBLookupListBox组件不知道从何处去获取数据充填列表框。 一般放置DataSource组件和其相连。ListField属性指定要充填列表框的数据字段,可以一次列出多个字段的内容,但只能选择一个字段的内容去给和DBLookupListBox组件指定的字段赋值,所以必须指定关键字段KeyField。 KeyField属性 和ListField属性相配合使用,指明选择列表中的哪个字段内容为DBLookupListBox组件指定的字段(DataField属性指定)赋值,如果列表中只有一个字段,那么KeyField和ListField应相同。KeyField 属性必须指定,此属性允许一次设定多个字段,每个字段之间用分号隔开即可。使用多个列表字段的好处在于,用户在选择KEY字段内容的同时,可以了解有关的其他信息。

10 DBLookupComboBox组件。此组件结合了DBEdit组件和DBLookupListBox组件的功能,用户可以直接向该组件中输入字段值,也可以从下拉式列表框中选择一个可选项,只是下拉式列表框中的可选项是从相关的其他数据库表中读取来的。其属性设置可参考前面的DBComboBox和DBLookupListBox组件。

注意:上面的四个组件DBListBox、DBLookupListBox 、DBComboBox、DBLookupComboBox只能与Table组件配合使用,而不能与Query组件配合使用。

11 DBCheckBox组件。一般用来和数据表中布尔型字段相连。这样一来用户就不必要再输入True/False了,用起来比较方便。它和CheckBox组件的区别在于:DBCheckBox组件必须和数据表中的布尔型字段相连,而CheckBox的数值在程序中给出。

12 DBRadioGroup组件。和某个字段相连,此字段值只能为DBRadioGroup组件的固定数值之一(由用户选择),用户只能选择一个选项。其Items属性双击可打开选项名称编辑器,在这里输入选项的标题。&#118alues属性双击打开选项对应的数据编辑器,这里输入的数据和前面的Items对应,当用户选择第一个选项时,就会从&#118alues列表选择第一个数据充填到相应的字段。注意:如果没有给出&#118alues属性,那么Items标题就作为数据传递给相应的字段。

13 DBRichEdit组件。和DBEdit组件是一样的,只不过它连接的字段必须是RichText文本格式。DBRichEdit组件没有提供对RichText文本的格式化功能,要想修改文本格式应用程序必须自己来做。当文本格式变化而不是文本本身改变时,应用程序必须明确地将数据源控件的Edit属性置为True,否则无法保存变化后的结果。

14 DBCtrlGrid组件。是很有趣的一个组件,它允许同时开多个面板窗口对记录进行显示、修改,而且这些记录是不相同的,是连续的几个记录(用户设定),用户可同时对多个记录进行修改。ColCount属性指定有几列,RowCount属性指定有几行。Orientation属性有两个值供选择: GoHorizontal—滚动条出现在水平方向,GoVertical—滚动条出现在垂直方向。使用用方法:放置一个DBCtrlGrid组件后,在其“活动”面板(即图中表面光滑没有条纹的左上角面板)中放置数据浏览组件如DBEdit等。只能在活动面板上放组件,其它面板无法放置,运行后每个面板上都会有和活动面板相同的界面。再通过ColCount、RowCount来设定面板的行列数,用Orientation属性设定好滚动条的位置就可以使用了。注意:在滚动条移动时或在面板之间转移焦点时都会自动保存数据。滚动条两端的箭头每按一次和在滑块与箭头之间的空白处单击鼠标移动的记录数是不一样的。前者移动一列或一行,后者移动一个屏幕的记录数。

15 DBChart组件。和Chart组件几乎完全一样,只不过是多了一个功能,就是从数据表中获得数据来制做图形。使用方法:在界面中放置数据集、数据源组件后,放置DBChart组件,双击打开设定界面,和Chart组件不同之处在于在Series选项下,DataSource选项下拉列表中有一项为DataSet,选中后下面会出现数据表选择项,然后在Lables、X、Y中可选择相应的数字字段用来做图。

技巧之一:在DBGrid 中实现类DBComboBox列表方法

要实现的功能:在DBGrid网格中输入字段时,单击字段可出现一个下拉列表(类似于DBComboBox),用户可从中选择需要的字段内容,列表框中是固定的几个选项如男、女等。

实现方法举例:假如数据表中有一个“性别”字段,我们让这个字段具有下拉列表功能。在窗体上放置Table、DataSource、DBGrid组件各一个,将三者搭配起来,不用多讲吧。 双击DBGrid1, 在弹出的Editing DBGrid1.Columns窗口中,单击Add all Fields 按钮, 将Table1的所有字段添加到DBGrid1中。在Editing DBGrid1.Columns窗口,单击选择一个字段如“性别” ,在Object Inspector窗口中, 单击PickList属性后的省略号,在Strings list editor窗口中输入两行,分别为“男”、“女” ,关闭Strings list editor窗口。 将Table1的Active属性设定为True,然后运行程序,鼠标单击DBGrid1中某个记录的性别字段,将会出现一个下拉列表,列表中选项为“男”、“女”,从中选择一个就可以了,也可以手工输入字段内容

技巧之二、在DBGrid 中实现类DBLookUpComboBox列表的方法。

技巧一中的方法适用于选项比较少的字段的表格输入,如果有上千种商品名称,手工输入显然是不合适的,这时我们使用查找字段来实现。下拉列表的内容来自另外一个数据表的相应字段值,比如来自事先制做好的商品名称数据表。

sql 包含哪些组件

如果是数据库引擎的组件包括:
查询处理器,存储引擎,协议,关系引擎.
如果指的是sql
server2005服务的组件,包括:数据库引擎,ssas,ssrs,ssis,ssns.以及工作站组件,联机丛书以及开发工具.

⑶ 细化解析:如何正确理解关系数据库组件

下列术语描述了 SQL Server 2000 数据库组件构架的基本组成: 数据库数据库与数据文件相似,同为存储数据的场所。与数据文件一样,数据库并不直接向用户显示信息;用户运行应用程序访问数据库中的数据,数据库将这些数据以用户能够理解的格式呈现给用户。 数据库系统比数据文件的功能强大,因为数据库中的数据组织程度更高。在设计良好的数据库中,没有用户或应用程序必须同时更新的重复数据块。相关的数据分在一个结构或一条记录中,同时,还可以定义这些结构和记录之间的关系。 处理数据文件时,必须根据每个数据文件的特定结构对应用程序进行编码。数据库则不同,它包含一个目录,应用程序可以利用该目录来确定数据的组织结构。通用数据库应用程序能够利用该目录动态地向用户提供来自不同数据库的数据,而不受特定数据格式约束。 数据库通常有两个主要部分:一个是保存物理数据库的文件,一个是应用程序用于访问数据的数据库管理系统 (DBMS) 软件。DBMS 负责维护数据库的结构,包括: 维护数据库内数据间的关系。 确保数据存储正确,定义数据间关系的规则未被违反。 在系统崩溃的情况下,按照已知的一致性程度恢复所有数据。 关系数据库组织数据库数据的方法有很多种,而关系数据库是最为高效的一种。关系数据库系统是数学集合理论在如何高效组织数据这一问题上的应用。在关系数据库中,数据被收集在表(在关系型理论中称为关系)中。 表描述了对企业具有重要意义的某类对象。比如,一个公司的数据库中可能会有有关员工的表、有关客户的表,以及有关库存的表。每个表都由列和行(关系型理论中称为属性和元组)组成。每一列描述表代表的对象的某个属性。比如,Employee 表通常包含名字、姓氏、员工 ID 号、部门、工资级别以及职位等属性列。每一行表示表所代表的对象的一个实例。比如,Employee 表中的某一行代表员工 ID 号为 12345 的员工。 在将数据组织成表的过程中,用户通常会发现有许多不同定义表的方法。关系数据库理论定义了一个称为规范化的进程,可确保定义的表集能够有效地组织数据。

⑷ SQL数据库的逻辑组件及其主要功能

系统数据库是由
sql
server内部创建和提供的一组数据库。其中最主要的数据库有
4个。它们分别是master、msdb、model和tempdb。

master数据库:用于记录所有sql
server系统级别的信息,这些信息用于控制用户数据库和数据操作。
②msdb数据库:由
enterprise
manager和agent使用,记录着任务计划信息、事件处理信息、数据备份及恢复信息、警告及异常信息。
③model数据库:sql
server为用户数据库提供的样板,新的用户数据库都以
model数据库为基础。每次创建一个新数据库时,sql
server先制作一个model数据库的拷贝,然后再将这个拷贝扩展成要求的规模。
④tempdb数据库:一个共享的工作空间,sql
server中的所有数据库都可以使用它。它为临时表和其他临时工作提供了一个存储区。

⑸ win7安装不了数据库组件

咨询记录 · 回答于2021-11-01

⑹ 数据库系统的组成是什么

数据库系统(Database System, DBS)通常由硬件、软件、数据库和用户组成,管理的对 象是数据。其中软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。数据库系统包括四大组件:用户、数据、软件和硬件。

⑺ 常用的数据库连接池有哪些组件

数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显着影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。 数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。 数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是由最小数据库连接数来设定的。无论这些数据库连接是否被使用,连接池都将一直保证至少拥有这么多的连接数量。连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超过最大连接数量时,这些请求将被加入到等待队列中。数据库连接池的最小连接数和最大连接数的设置要考虑到下列几个因素: 1) 最小连接数是连接池一直保持的数据库连接,所以如果应用程序对数据库连接的使用量不大,将会有大量的数据库连接资源被浪费; 2) 最大连接数是连接池能申请的最大连接数,如果数据库连接请求超过此数,后面的数据库连接请求将被加入到等待队列中,这会影响之后的数据库操作。 3) 如果最小连接数与最大连接数相差太大,那么最先的连接请求将会获利,之后超过最小连接数量的连接请求等价于建立一个新的数据库连接。不过,这些大于最小连接数的数据库连接在使用完不会马上被释放,它将被放到连接池中等待重复使用或是空闲超时后被释放。

⑻ 与数据库相关的组件主要有哪些简述这些组件的属性和方法以及它们的使用方法。

以SQL为例BDE(Borland Databas Engine), 是中最古老的技术,从 2.0加入BDE
技术以后,一直是处理数据库的事实上的标准。BDE 是一个基于驱动程序的体系结构,每一种数据格式或数据源都有一种驱动程序来驱动相近的数据源。BDE
可以很好的支持现在最流行的ODBC API方法,ODBC是一种C/C++ 应用程序编程接口(API ),无论是对任何一种客户/
服务器关系型数据库管理系统(RDBMS ),还是最流行索引顺序访问方法(ISAM)数据库(Jet、Foxpro), 都能很好的访问。 同时,由于BDE
的驱动程序主要直接来自于第三方开发商,所以,对于像Oracle这些非微软的数据库,执行效率上比较高。正是这些特点,使BDE
技术还是得到了很多数据库开发程序员的欢迎。 ADO 技术是微软提出来的处理关系型数据库和非关系型数据库的新技术,它基于微软被称为OLE
DB的数据访问模式,它是专门为了给大范围商业数据源提供访问而设计的,包括传统的关系型数据表、电子邮件系统、图形格式、Internet资源等。ADO
所需内存更少,更适合大流量和大事务量的网络计算机系统。 ADO 顶层有三个对象:Connection、Command、Recordset。
Connection用以指定数据源,建立和数据源的连接。 Command 对象用以对数剧源执行指定的命令,可以接受SQL 语句,表和存储过程的名称,执行SQL
查询,更新数据,插入纪录等。 Recordset 对象表示的是来自表或命令执行结果的记录全集,操纵来自提供者的几乎所有数据。 由于ADO 技术的迅速普及,从
5.0 开始,加入了ADO 技术的模块,并逐步成为数据库设计的主流。但是,和VB的ADODC 相比,它还是有所不同的,在数据绑定上,它更多的吸收了BDE
的特点,以做到和原来的程序兼容,同时,它又可以接受标准ADO
技术的各种属性和方法,在接受这些属性和方法时,它是和数据绑定控件脱离的,当然从某种意义上来说,这种方案提高了执行效率,给设计人员以更多的选择。
dbExpress 是
6.0加入的最新的数据库模块,它不使用缓存,可以快速浏览大量的数据,但是,不使用缓存就不能更改,所以它的标准方式是只读的。它一个重要的特点是交叉平台,可以和Linux
数据库连接,速度相当快。

⑼ 数据库组件介绍

在本讲及下一讲中将为读者介绍我们程序没有使用的数据组件,并简单介绍一下它们的用途,有些给出了应用示例。需要说明的是,虽然在我们的程序中没有用到,并不表明这些组件不重要,有些还是经常要用的。心铃不可能详细讲解这些数据库组件,主要根据自己的经验给出一些使用技巧、注意事项等等。

1 Session组件。它提供应用程序中数据库的有关信息,在单机数据库编程中不显式地使用它,这是因为每个数据库应用程序运行时,Delphi将自动创建一个缺省Session组件,用户可在程序中使用这个缺省的Session组件,而没有必要在设计时设置一个Session组件。Table、Query等组件的属性中有一个SessionName属性,缺省为“Default”,这就是缺省的Session组件。比较常用的是用它的GetTableNames方法,在一些查询有时需要用户选择数据库中的数据表名称列表。比如在列表框中列出我们的数据库别名lklb中所有的数据表名称,代码如下(窗体上要有激活的数据集组件并指明了数据库别名):

procere TForm1.Button1Click(Sender: TObject);

var MyStringList :TStringList;

begin

MyStringList := TStringList.Create;

try

Session.GetTableNames('lklb', '',False, False, MyStringList);

ListBox1.Items := MyStringList;

finally

MyStringList.Free;

end;

end;

GetTableNames方法的语法如下,

语法:Session.GetTableNames(DataBaseName,Pattern,Extensions,SystemTables,List)。

参数说明:

DataBaseName——数据库名称。

Pattern——数据表类型,用来限制返回哪种类型的数据表,比如是.DB还是.DBF,如果为空则返回所有类型数据表,可以用通配符。

Extentions——布尔型变量,控制返回的数据表是否有扩展名。

SystemTables——对一些数据库来说有系统数据表,若设定为True则返回的数据表名称包括系统数据表。一般设定为False 。

List—保存数据表名称的字符串行表。

2 DBNavigator组件。DBNavigator组件主要用于为用户操作数据集中的记录提供简捷的控制按钮。用户单击其中的按钮就可完成移动记录指针、插入、删除、修改、保存、刷新记录等功能。它的 VisibleButtons属性可指定哪些按钮显示,通过设置Hints属性可以为各控制按钮设置其他的动态提示信息,用户自己设置的动态提示信息会覆盖原来的提示信息,对我们来说提示信息写成中文比较好。

3 DBtext组件。相当于标签(Label)组件,只不过它用于显示数据库中的字段值,其显示内容随记录指针的变化而变化。它的DataField属性指定要显示内容的字段名称。

4 DBEdit组件。用于显示、修改数据表字段值。由于DBEdit一般用来修改或添加新记录使用,所以其ReadOnly属性一般设定为False,若设定为True则不可修改字段内容。

5 DBMemo组件。主要用于显示和编辑数据库表中的大二进制(BLOB)类型的字段值,一般用来处理备注型字段的值,能够显示多行文本。MaxLength属性设置该属性的值用于限制用户向DBMemo 组件中输入字符的个数。若设置该值为0时,表示输入字符的个数没有限制。注意:在运行过程中,用户对DBMemo组件中显示的文本信息是不能够进行剪切、拷贝和粘贴操作的。由于DBMemo组件中包含着大量的文本信息,当指针移动时要更新显示其中的信息需要花费很多的时间,用户可以通过AutoDisplay属性来控制是否自动显示表中的备注型字段。当AutoDisplay设置为False时,在DBMemo组件中只显示其对应表中的字段名而不显示字段中的文本信息,用户如果想浏览字段中的文本信息,用鼠标左键双击DBMemo组件的内部即可;当设置AutoDisplay属性为True时,在DBMemo组件中会自动地显示其对应数据库表中的字段值。

6 DBImage组件。与DBMemo组件类似,它是用来显示和编辑数据库表中的BLOB类型的位图图像字段的。DBImage的ReadOnly属性值若设定为False,就允许用户对位图图像进行编辑,如将图像剪切或拷贝到剪帖板上或从剪帖板上粘帖到DBImage组件中等操作。

7 DBListBox组件。用来当用户修改字段值时显示一个字段值列表供用户选择。在运行过程中,用户单击其中的可选项可以为DBListBox 组件对应的字段赋值,用户不能自己从键盘上输入一个列表框中不存在的字段值。

8 DBComboBox组件。可以认为它是DBEdit组件和DBListBox组件的合成,DBComboBox的可选项也是在设计阶段由程序设计人员设计的。当用户修改当前记录中的字段时,可以直接输入新的字段,也可以打开下拉式列表框选择其中的一个可选项(受Style属性的限制)。Sorted属性决定列表框中的可选项是否按字母的排列顺序排序。 技巧:DBComboBox组件和ComboBox组件有类似的智能查找功能:当用户在编辑框中输入一个字符或汉字后,打开下拉框,会自动移到与第一个字符相同的选项处,依次下去,用户一般只需输入少量的几个字符就可以找到相应的选项。这在选项比较多的情况下非常有用。当然,Sorted属性必须设定为True,否则可能会找不到所需的选项。

9 DBLookupListBox组件。该组件提供多个可选项,但这多个可选项是从相关的其它数据库表中读取的,不是设计时手工输入的,这是其特点。ListSource属性指明DBLookupListBox组件列表选项的数据源,这是非常重要的,否则DBLookupListBox组件不知道从何处去获取数据充填列表框。 一般放置DataSource组件和其相连。ListField属性指定要充填列表框的数据字段,可以一次列出多个字段的内容,但只能选择一个字段的内容去给和DBLookupListBox组件指定的字段赋值,所以必须指定关键字段KeyField。 KeyField属性 和ListField属性相配合使用,指明选择列表中的哪个字段内容为DBLookupListBox组件指定的字段(DataField属性指定)赋值,如果列表中只有一个字段,那么KeyField和ListField应相同。KeyField 属性必须指定,此属性允许一次设定多个字段,每个字段之间用分号隔开即可。使用多个列表字段的好处在于,用户在选择KEY字段内容的同时,可以了解有关的其他信息。

10 DBLookupComboBox组件。此组件结合了DBEdit组件和DBLookupListBox组件的功能,用户可以直接向该组件中输入字段值,也可以从下拉式列表框中选择一个可选项,只是下拉式列表框中的可选项是从相关的其他数据库表中读取来的。其属性设置可参考前面的DBComboBox和DBLookupListBox组件。

注意:上面的四个组件DBListBox、DBLookupListBox 、DBComboBox、DBLookupComboBox只能与Table组件配合使用,而不能与Query组件配合使用。

11 DBCheckBox组件。一般用来和数据表中布尔型字段相连。这样一来用户就不必要再输入True/False了,用起来比较方便。它和CheckBox组件的区别在于:DBCheckBox组件必须和数据表中的布尔型字段相连,而CheckBox的数值在程序中给出。

12 DBRadioGroup组件。和某个字段相连,此字段值只能为DBRadioGroup组件的固定数值之一(由用户选择),用户只能选择一个选项。其Items属性双击可打开选项名称编辑器,在这里输入选项的标题。&#118alues属性双击打开选项对应的数据编辑器,这里输入的数据和前面的Items对应,当用户选择第一个选项时,就会从&#118alues列表选择第一个数据充填到相应的字段。注意:如果没有给出&#118alues属性,那么Items标题就作为数据传递给相应的字段。

13 DBRichEdit组件。和DBEdit组件是一样的,只不过它连接的字段必须是RichText文本格式。DBRichEdit组件没有提供对RichText文本的格式化功能,要想修改文本格式应用程序必须自己来做。当文本格式变化而不是文本本身改变时,应用程序必须明确地将数据源控件的Edit属性置为True,否则无法保存变化后的结果。

14 DBCtrlGrid组件。是很有趣的一个组件,它允许同时开多个面板窗口对记录进行显示、修改,而且这些记录是不相同的,是连续的几个记录(用户设定),用户可同时对多个记录进行修改。ColCount属性指定有几列,RowCount属性指定有几行。Orientation属性有两个值供选择: GoHorizontal—滚动条出现在水平方向,GoVertical—滚动条出现在垂直方向。使用用方法:放置一个DBCtrlGrid组件后,在其“活动”面板(即图中表面光滑没有条纹的左上角面板)中放置数据浏览组件如DBEdit等。只能在活动面板上放组件,其它面板无法放置,运行后每个面板上都会有和活动面板相同的界面。再通过ColCount、RowCount来设定面板的行列数,用Orientation属性设定好滚动条的位置就可以使用了。注意:在滚动条移动时或在面板之间转移焦点时都会自动保存数据。滚动条两端的箭头每按一次和在滑块与箭头之间的空白处单击鼠标移动的记录数是不一样的。前者移动一列或一行,后者移动一个屏幕的记录数。

15 DBChart组件。和Chart组件几乎完全一样,只不过是多了一个功能,就是从数据表中获得数据来制做图形。使用方法:在界面中放置数据集、数据源组件后,放置DBChart组件,双击打开设定界面,和Chart组件不同之处在于在Series选项下,DataSource选项下拉列表中有一项为DataSet,选中后下面会出现数据表选择项,然后在Lables、X、Y中可选择相应的数字字段用来做图。

技巧之一:在DBGrid 中实现类DBComboBox列表方法

要实现的功能:在DBGrid网格中输入字段时,单击字段可出现一个下拉列表(类似于DBComboBox),用户可从中选择需要的字段内容,列表框中是固定的几个选项如男、女等。

实现方法举例:假如数据表中有一个“性别”字段,我们让这个字段具有下拉列表功能。在窗体上放置Table、DataSource、DBGrid组件各一个,将三者搭配起来,不用多讲吧。 双击DBGrid1, 在弹出的Editing DBGrid1.Columns窗口中,单击Add all Fields 按钮, 将Table1的所有字段添加到DBGrid1中。在Editing DBGrid1.Columns窗口,单击选择一个字段如“性别” ,在Object Inspector窗口中, 单击PickList属性后的省略号,在Strings list editor窗口中输入两行,分别为“男”、“女” ,关闭Strings list editor窗口。 将Table1的Active属性设定为True,然后运行程序,鼠标单击DBGrid1中某个记录的性别字段,将会出现一个下拉列表,列表中选项为“男”、“女”,从中选择一个就可以了,也可以手工输入字段内容

技巧之二、在DBGrid 中实现类DBLookUpComboBox列表的方法。

技巧一中的方法适用于选项比较少的字段的表格输入,如果有上千种商品名称,手工输入显然是不合适的,这时我们使用查找字段来实现。下拉列表的内容来自另外一个数据表的相应字段值,比如来自事先制做好的商品名称数据表。

实现方法:在上面例子的基础上,再添加一个数据集组件Table2,设定其table属性为商品名称数据表。双击Table1, 在弹出的Form1.Table1窗口中,鼠标右键单击弹出快捷菜单,选择 Add All Fields菜单项,将所有的字段添加,也可选择部分字段,单击“OK”按钮返回。在Form1.Table1窗口中,单击鼠标右键,从快捷菜单中选择“New field”,在“New field”窗口中,添加一个新的查找字段,设定其Name属性如“spmc”,类型为String。选择其“Field Type”为“LookUp”。在“Field Definition”中设定如下:Key Field选择“商品名称”,此字段是一汉字为字段名的字段,是Table1中的字段。在DataSet中选择“Table2”,在LookUp keys中选择spmc,此字段的内容是商品名称,是Table2中的字段。Result Field选择 spmc。设定好上述选项后,单击“OK”按钮返回Form1.Table1窗口。在Form1.Table1窗口中,鼠标单击选择“商品名称”字段,在Object Inspector 窗口中设定其Visible属性为False。为的是让新增的查找字段spmc来代替它。在Form1.Table1窗口中,鼠标单击选择“spmc”字段,在Object Inspector 窗口中设定其DisplayLabel属性为“商品名称”,让其代替“商品名称”字段。将Table1的Active属性设定为True,然后运行程序,鼠标单击DBGrid1中某个记录的商品名称字段,将会出现一个下拉列表,列表中选项为所有的商品名称,这些药品名称来自Table2的数据表,但不能手工输入商品名称。

上面两种方法的不同之处在于:用PickList属性设置的下拉列表,在DBGrid中可手工输入下拉列表中没有的数值,适用于较少的选择项。用查找字段的方法得到的下拉列表在DBGrid中不能手工输入下拉列表中没有的数值,适用于较多的选择项