Delphi中DBChart的数据库应用
一:属性相关:
Series选项:
(1)Format页(数据柱的风格)
在Color Each中打勾,就可使用多种颜色显示,
color按钮用于设置颜色,
Style用于设置图表的风格(Rectangle长方体,Pyramid三角体,Invert.PyramId倒三角体,Cylinder圆柱体,Ellipse圆形,Arrow箭头,
(2)Marks页(标记,数据内容显示设置)
数据内容显示设置:在Style中选相关的选项,标记的类型:Value值、Percent百分率、Label字段内容、Label and Percet字段内容+百分率、Label and Value
字段内容+值、Legend与右上角的数据说明一样、Percent Total百分率+值、Label&Percent Total字段内容+百分率+值。
二:数据库绑定
1、绑定数据
ADOQuery1.Active := True;
DBChart1.Series[0].DataSource := ADOQuery1;
DBChart1.Series[0].XLabelSource := ‘FieldName’;
DBChart1.Series[0].YValues.ValueSource := ‘FieldName’;
2、切换图表类型
tmpChart := DBChart1.Series[0];
ChangeSeriesType(tmp, TLineSeries);
tmpChart.Active := true;
tmpChart.RefreshSeries;
3、设置分页
DBChart1.ScaleLastPage := true;
DBChart1.MaxPointsPerPage := 10;
DBChart1.Page := 1;
DBChart1.PreviousPage;
DBChart1.NextPage;
DBChart1.Page := NumPages;
4.导出图表
SaveToBitmapFile(FileName);
5.打印图表
uses TeePrevi;
ChartPreview(Parent,DBChart1);
TeePreview(Parent,DBChart1);
6.数据源
ADODataSet1.CreateDataSet;
AdoDataSet1.Insert;
AdoDataSet1.FieldByName('Value').AsFloat:=200000;
AdoDataSet1.FieldByName('Info').AsString:='05-02';
AdoDataSet1.Post;
三:实例
①:我用的是FASTLINE,里面需要动态的绑定x,y轴,在DBCHART中可以直接设置,那么在程序中如何设置呢?
sSql := 'select scan_start_time,sum'+'('+trim(adoQtarget.FieldByName('name').Value)+')'+' as c1';
sSql := sSql + ' from pm_radio ';
sSql := sSql + ' where scan_start_time >='+#39+ FormatDateTime('YYYY-MM-DD HH:00:00',wwDBDateTimePicker1.DateTime)+#39;
sSql := sSql + ' and scan_start_time <='+#39+ FormatDateTime('YYYY-MM-DD 23:00:00',wwDBDateTimePicker1.DateTime)+#39;
sSql := sSql + ' group by scan_start_time';
adoQChart.Close;
adoQChart.SQL.Clear;
adoQChart.SQL.Text :=sSql;
adoQChart.Open;
Series1.XValues.ValueSource := 'scan_start_time';//adoQchart.FieldByName('scan_start_time').AsString;
series1.YValues.ValueSource := 'c1';//adoQchart.FieldValues['c1'];//.fieldbyname('c1').AsString;
②:
uses Series,TeeEdiGene;
private
Series1: TPieSeries;
procedure TnPOP_check_model.insertcurrve_model_tot;
var
curve_today_tot:array [0..30] of string;
begin
Series1:=TPieSeries.Create(dbchart1);
Series1.ParentChart:= dbChart1;
Series1.Clear;
Series1.Marks.Visible:=true;
Series1.Marks.Style:=smsValue;
Series1.SeriesColor:=cxcolorcombobox1.ColorValue;
Series1.Title:='SUM_'+'-'+'Q';
qry_temp1.Close;
qry_temp1.SQL.Text:='select type,bad_count from press_check2';
qry_temp1.Open;
if qry_temp1.RecordCount>0 then
begin
if length(trim(qry_temp1.fieldbyname('bad_count').AsString))=0 then
curve_today_tot[i-1]:='0'
else
Series1.DataSource:= qry_temp1;
Series1.xlabelsSource:='type';
Series1.YValues.valuesource:='bad_count';
Series1.Active:=True;
end;
cxcombobox1.Properties.Items.Add(trim(series1.Title));
end;
转自: http://blog.csdn.net/chelen_jak/article/details/7363877
Delphi中DBChart的数据库应用的更多相关文章
- ACCESS-关于DELPHI中操作ACCESS数据库中单精度数据的问题
在近日几个帖子里面,和QQ群的讨论里面,我发现很多网友都遇到的问题都是因为不恰当地使用了单精度/双精度数值.因此想专门就这个话题谈一下. 单精度和双精度数值类型最早出现在C语言中(比较通用的语言里面) ...
- delphi 中如何从数据库中读取数据自生成TreeView,只有两个字段,数据库结构如下。急急!!
我的数据库结构如下:UnitId UnitName01 中国 (根节点)0101 河北省(二级树)010101 河北省沧州市(三级树)0101010 ...
- Delphi中客户端获取数据库更新信息(更新条数)
1.SQL语句 from tb where xxx='XXX') //不存在,则插入数据 begin insert into tb(xxx) values('XXX') //这里自己定义,插入或更新都 ...
- (转载)在Delphi中利用MSDASC来配置数据库链接
在Delphi中利用MSDASC来配置数据库链接 在运行期进行数据库的连接是一个问题,自己写一个窗体配置吧,数据库不一样,所用的参数也不一样,还有那讨厌的连接字符串,有时真不知该写什么好.那天无意中发 ...
- 在Delphi中处理word文档与数据库的互联 1
在Delphi中处理word文档与数据库的互联 ---- 目前,Delphi被越来越多的人选中作为MIS系统开发中的前台工具.在以Delphi为前台,一些大型数据库为后台的MIS系统中,图形的处理不可 ...
- 在Delphi中处理word文档与数据库的互联
在Delphi中处理word文档与数据库的互联 ---- 目前,Delphi被越来越多的人选中作为MIS系统开发中的前台工具.在以Delphi为前台,一些大型数据库为后台的MIS系统中,图形的处理不可 ...
- DELPHI中使用UNIDAC连接ORACLE数据库
DELPHI中使用UNIDAC连接ORACLE数据库 最近在DELPHI中使用到UNIDAC连接到oracle数据库,这样可以不要安装oracle客户端,比较方便使用:所以简单学习了一下,主要是用 ...
- Delphi使用ADO进行数据库编程
Delphi是一个可视化的编程工具,ADO编程也是这样,所以话不多言,直接通过代码.截图和语言来说明. 我的数据库是Oracle,为了测试,先建一个表:create table practice(un ...
- delphi中midas是什么
Delphi中MIDAS到底是什么呢?和他相关组件是什么呢? MIDAS(Multitiered Distributed Application Services)多层分布式应用服务. Del ...
随机推荐
- Ubuntu中配置Java环境变量时,出现command not found问题解决记录
百度出Ubuntu中配置Java环境变量时,在利用sudo gedit /etc/profile 对profile编辑后, 在terminal中输入 sudo source /etc/profile, ...
- css定位
文档流 所谓的文档流,指的是元素排版布局过程中,元素会自动从左往右,从上往下的流式排列.并最终窗体自上而下分成一行行, 并在每行中按从左至右的顺序排放元素.脱离文档流即是元素打乱了这个排列,或是从排版 ...
- arch+xfce4系统配置
音量控制快捷键插件: sudo pacman -S xfce4-volumed
- python学习笔记(一)
• Python能干嘛?[1]科学计算[2]图形化开发[3]系统脚本[4]Web服务器[5]网络爬虫[6]服务器集群自动化运维 • 常用工具:easy_install.pip.ipython.Subl ...
- JS中class和id的区别
class和id的区别 class用于css的,id用于js的. 1)class页面上可以重复.id页面上唯一,不能重复. 2)一个标签可以有多个class,用空格隔开.但是id只能有id.
- Net中对Object的定义
如果你问一个.Net程序员什么是Object,他可能会信誓旦旦的告诉你"Object还不简单吗,就是所有类型的基类"这个答案是对的,但是不足以说明Object真正是什么 好在HTM ...
- Thymeleaf
1.在html顶部添加 <html xmlns:th="http://www.thymeleaf.org"> 2.url表达式 @{...} <link rel= ...
- Swift中的可选链与内存管理(干货系列)
干货之前:补充一下可选链(optional chain) class A { var p: B? } class B { var p: C? } class C { func cm() -> S ...
- 抓取百万知乎用户信息之HttpHelper的迭代之路
什么是Httphelper? httpelpers是一个封装好拿来获取网络上资源的工具类.因为是用http协议,故取名httphelper. httphelper出现的背景 使用WebClient可以 ...
- IOS开发遇到(null)与<null>轻松处理
在ios开发中不可避免的我们会遇到服务器返回的值有空值,但是如果是nil也就算了还可能得到(null)以及<null>的返回值,该如何处理呢?(当然有的字典转模型中已处理,可以通过遍历等) ...