我想在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);
这显然也适用于所有其他运动。但是,它不是在运行时显示我的数据,而是显示有关键盘和驾车者等的随机数据。要查看我在说什么,请点击
如何让TChart更改数据?是SQL语句还是添加导致问题的x和y值?
答案 0 :(得分:2)
您正在显示饼图。图表类型与向图表添加数据的方式相关。我记得那些AddXy只适用于基于行的图表。尝试
Chart1.Series[0].Add(123, 'Tennis');
见steema documentation。
要清除以前生成的系列值,请使用
Chart1.Series[0].Clear();