【发布时间】:2015-11-16 20:08:25
【问题描述】:
我想在 Delphi 中创建一个饼图,向用户显示参加特定运动的人数。
以下 SQL 语句从数据库中获取信息并将人数存储在一个变量中。数据库中的数据类型是yes/no,所以参加特定运动的人会打勾,不参加的人不会。 sql语句将确定有多少人参加一项特定的运动(如果数据库中有勾号)
qry.sql.clear;
qry.sql.add('SELECT Count(tennis) AS [NoTennis] FROM [Sports] WHERE Tennis = True');
qry.Open;
iTennis := qry['NoTennis']; {integer variable}
所有其他运动都会如此重复,例如游泳、曲棍球等
之后,这些数据必须在饼图中表示。我有以下代码...
Chart1.Series[0].AddXY(iTennis, 1, 'Tennis', clTeeColor);
这显然也适用于所有其他运动。但是,它不会在运行时显示我的数据,而是显示有关键盘和驾驶者等的随机数据。要查看我在说什么,请单击
(来源:asiplease.net)
如何让 TChart 更改它的数据?是 SQL 语句还是添加了 x 和 y 值导致了问题?
【问题讨论】:
-
别担心。这些是在设计时显示的示例数据,用于帮助您配置图表,因为您可以看到预览。无论如何,您可以考虑一次获取所有统计信息(在单个查询中)并使用
TDBChart。 -
或者更好地构建一个结构(类)来保存您将呈现的所有数据和一个演示者,以设置图表。用数据填充实例并呈现它。之后,从哪里获取数据并不重要。首先构建演示者并对其进行测试。然后用数据库中的数据填充实例并呈现它。
-
您能否提供一个简单的示例项目,使用示例数据库,我们可以“按原样”运行以重现这里的问题吗?谢谢。
-
这是一个设计时快照,在运行时它仍然无法工作
标签: sql database delphi pie-chart teechart