基本步骤:
1.访问数据库
2.从数据库中设置图形的属性并显示
1.访问数据库
准备工作:在SQL Server 中建立一个数据表Menu.
create table Menu_Group(
DishName varchar(20),
SaleCount int
)
随便写两个字段意思意思:DishMenu菜品名称、SaleCount销售数量。
2.从数据库中设置图形的属性并显示
(1) 在窗体中添加控件ADOConnection1、ADOQuery1、DBChart1
(2)设置ADOConnection和ADOQuery属性,让其能够连接到数据库。
(3)编写代码
打开数据集
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("Select DishName,SaleCount from Menu_Group");
ADOQuery1->Open();
下面的代码用于把数据库中的相应信息添加到饼状图中去。
AnsiString m_ChartTitle = "菜品销售统计报表";
TBookmark *bkCurPos;
DBChart1->SeriesList ->Clear() ;
TStringList* ls = new TStringList;
if(!ADOQuery1->IsEmpty())
{
bkCurPos = (TBookmark *)ADOQuery1->GetBookmark();
ADOQuery1->DisableControls();
PieSeries = new TPieSeries(DBChart1->Owner);//饼状图
DBChart1->View3D = true;
ls->Text = m_ChartTitle;
DBChart1->Title->Text = ls;
PieSeries->ParentChart = DBChart1;
PieSeries->Marks->Style = smsLabelPercent;
int k = 0;
ADOQuery1->First();
while(!ADOQuery1->Eof)
{
PieSeries->Title = ADOQuery1->FieldByName("DishName")->AsString;
PieSeries->Add(double(ADOQuery1->FieldByName("SaleCount ")->AsFloat ),ADOQuery1->FieldByName("DishName")->AsString,color[k]);
ADOQuery1->Next() ;
k++;
}
ADOQuery1->GotoBookmark(bkCurPos);
ADOQuery1->EnableControls();
}
其中color[]是定义为TColor型的数组
运行后的截图样式: