有办法了, 用Tchar. 把横轴设置成datatime型的,调整最大最小值 纵轴设置成人数,取消3D效果然后根据你的查询结果在Tchar上画barprocedure TForm1.Button2Click(Sender: TObject); var dd:word; begin series1.clear; series1.AddXY(EncodeDate(1980,1,21),人数,'',clRed ); end;
其实你用dbchart应该没有问题的吧 你可以统计每个月的人数的吧 或者每天的人数给你段代码 你看看对你有没有什么用处的 CommandText := ' INSERT INTO #Temp' + ' SELECT DATENAME(yy,b.goumairiqi) AS Buy_Year,DATENAME(mm,b.goumairiqi) As Buy_Month' + ' FROM Kehu_zl a,Yigouche_lb b' + ' WHERE a.Bianma=b.Kehu_Bianma AND b.xinghao=:Xinghao ';CommandText := ' SELECT Count(*) AS Total,Buy_Month FROM #Temp' + ' WHERE Buy_Year*12+Buy_Month>=:Begin_Day' + ' AND Buy_Year*12+Buy_Month<=:End_Day' + ' GROUP BY Buy_Month';
var
dd:word;
begin
series1.clear;
series1.AddXY(EncodeDate(1980,1,21),人数,'',clRed );
end;
你可以统计每个月的人数的吧 或者每天的人数给你段代码 你看看对你有没有什么用处的
CommandText := ' INSERT INTO #Temp' +
' SELECT DATENAME(yy,b.goumairiqi) AS Buy_Year,DATENAME(mm,b.goumairiqi) As Buy_Month' +
' FROM Kehu_zl a,Yigouche_lb b' +
' WHERE a.Bianma=b.Kehu_Bianma AND b.xinghao=:Xinghao ';CommandText := ' SELECT Count(*) AS Total,Buy_Month FROM #Temp' +
' WHERE Buy_Year*12+Buy_Month>=:Begin_Day' +
' AND Buy_Year*12+Buy_Month<=:End_Day' +
' GROUP BY Buy_Month';