TeeChart Pro VCL/FMX教程之访问数据库(文长,建议先码后看)

    TeeChart Pro VCL/FMX是一款主流的图表制做工具。提供了数百种用于可视化的2D、3D图形样式、56种数学、统计和金融函数,以及不限数量的坐标轴和30种调色板组件。TeeChart Pro VCL/FMX教程将会以连载的形式持续为你们带来TeeChart Pro VCL/FMX的使用方法。数据库

点击下载TeeChart Pro VCL/FMX最新试用版 编程


    本篇教程为你们带来的是TeeChart Pro VCL/FMX中数据库的访问这一节,主要分为如下几个部分:编辑器

  1. 介绍函数

    在设计时链接到TData组件 工具

    在运行时链接到TData组件ui

  2. 扩展功能设计

    Single Record3d

    摘要分组数据orm

  3. Eventsblog

    OnProcessRecord事件


    介绍

    在设计时链接到数据源——将TeeChart控件链接到数据库能够在设计时使用图表编辑器完成,并在运行时仅仅使用几行代码就完成。使用TDBChart组件, TDBChart安装在Component Palette的Data Controls部分。TDBChart继承了全部TChart属性和方法,关键的区别在于它还包括访问Borland的数据库引擎,从而增长了使用此组件编译项目的大小,通常除非是直接链接到数据源,不然建议使用TChart组件。 

    TeeChart链接到Borland的全部TData组件,包括TTable,TQuery和TClientDataset。链接到 Tables或者Queries 时,没必要使用TDataset组件,由于TeeChart将直接创建链接。 

    可使用图表编辑器将任何Series链接到Tables或者Queries。每一个系列均可以在相同或不一样的数据库中链接到相同或不一样的Tables或者Queries。 

    此设计为您提供了将图表链接到数据库的彻底灵活性,由于您不只限于一个数据库,也不只限于一个Tables或者Queries,还能够在设计时检索数据,以便在开发期间查看实际数据。 

    在设计时链接到TData组件 

    如下步骤假定您已在表单上放置了TTable,TQuery或TClientDataset。 

    对于此示例,您能够在安装TeeChart Pro期间将TTable链接到安装为ODBC v3 DSN的TeeChart Pro数据库,并选择Employee Table。    

    在设计时,将Series链接Datasource所需的步骤是: 

DB2.png

    每一个Series都有一个Label字段(应该是String或Char类型)和一个值字段(Bar Series的Bar字段),它应该是整数,浮点数或日期时间 字段类型。

    在此示例中,咱们从Employee表中为Series标签选择LASTNAME字段,为Bar point值选择了SALARY数字字段。

    请参见上图中的DataSet组合框。 此组合框显示您建立的可用的Table or Query。 您能够进入此对话框并选择其余数据集,或单击Edit..按钮进行编辑

    如今咱们已经分配了适当的字段,是时候查看结果了。

  1. 在表格上放置一个TDBChart控件。

  2. 双击TDBChart控件以显示图表编辑器。

  3. 将系列添加到图表控件(例如条形系列。)

  4. 单击Series选项卡和DataSource选项卡。

  5. 如今单击组合框并选择Dataset 此时您将看到此屏幕:

    datasource1.gif

  6. 选择Dataset...组合框以显示可用数据源列表:

  7. 在Combobox中选择一个项目,能够将Series链接到指定的Table or Query

  8. 在这个例子中,咱们将Table1链接到TeeChart Pro Database和Employee表,如上图所示。

        选择定义检索Table or Query中的一些字段并将其添加到Series中。 这是经过图表编辑器完成的,是为了每一个Series部件选择适当的字段。请参见下图,显示图表编辑器DataSource选项卡,其中包含咱们的示例选定字段。

    db3.png

  9. 单击Close按钮以关闭图表编辑器并返回编程环境。

此时,TChart控件将尝试打开所选的Datasource数据的Table or Query,并将开始检索记录并向所选Series添加值。

在咱们的示例中,您将在设计时看到如下图表:

ODBC4.gif

    如今,若是运行项目,Chart将从Datasource检索全部记录,并将向Series添加值。 在运行项目以前,您将看到在设计时看到的相同图表。

    最后运行应用程序。

在运行时链接到TData组件

    上述设计时步骤能够用几行代码以编程方式再现。这使您能够更自由地控制数据库操做。

    在新项目和新表单上重复上面的前3个步骤。

    每一个Series都有DataSource属性,它肯定数据库值的来源(Table or Query),以及YValues.ValueSource和LabelsSource属性,以指定咱们要绘制的字段。

    LabelsSource和YValues.ValueSource属性的语法是:

Series1.YValues.ValueSource := 'SALARY';
Series1.XLabelsSource := 'LASTNAME';

Series DataSource的语法是:

Series1.DataSource := Table1;

//or

Series1.DataSource := Query1;

    建议您按顺序设置上述属性。首先设置XLabelsSource和YValues.ValueSource,而后设置DataSource属性。

    若是数据库值已更改,而且您想要refresh链接并再次检索值,则应执行如下操做:

Series1.CheckDataSource;

    CheckDataSource方法将强制Series再次检索全部记录。

    全部系列都有XValues.ValueSource属性。此属性仅用于XY图表(当您为每一个点设置X坐标时)。若是TeeChart没法找到数据源,或者没法打开您指定的表或SQL Query,则会引起错误。请记住将数据源设置为Active。

扩展功能

Single Record

    Single Record数据图表容许从数据源记录中水平检索数据。 从TeeChart Editor数据源组合框中选择Single Record选项。

例:

single_r.png

    上面的定义从TeeChart示例Stock表中获取第一条记录,并将Open,High,Low和Close值绘制为一个系列的不一样点。

摘要分组数据

    TeeChart数据集中链接检索的数据能够按数据集的不一样字段来分组,这是为了经过所选字段建立摘要。 从TeeChart Editor数据源组合框中选择Summary

例:

summary.png

    上面的选择绘制了Bar Series of Delphi / C ++ Builder的Orders表的AmountPaid字段,再按客户编号CustNo对结果进行分组。

    若是数据集包含日期时间字段,您能够从第一个Group by组合框中选择分组条件做为DateTimeStep。 如下使用Saledate将按季度的平均AmountPaid分组。

例:

summarydate.png

代码以下所示:

  With Series1 do
  Begin
    DataSource:=Table1;

    YValues.ValueSource:='#AVG#AmountPaid';

    XLabelsSource:='#QUARTER#SaleDate';
  end;

Events

OnProcessRecord事件

    TChart控件提供了一个事件,每次检索记录并将其添加到Series时都会调用该事件。此事件是OnProcessRecord,并带有如下语法:

procedure TForm1.DBChart1ProcessRecord(Sender: TCustomDBChart;
  DataSet: TDataSet);
begin
end;

    您可使用此事件引起静默Abort以中止检索数据。

相关文章
相关标签/搜索