统计数据库中商品信息表中各商品的数量,然后绘制商品与商品数量的扇形图
时间: 2024-03-31 14:32:22 浏览: 81
jquery扇形统计图下载即可用
3星 · 编辑精心推荐
假设您有一个商品信息表,其中包含商品名称和数量。您可以使用C#中的System.Windows.Forms.DataVisualization.Charting命名空间来绘制扇形图。以下是一个简单的示例代码,可以从数据库中查询商品信息并将其绘制为扇形图:
```
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Drawing;
using System.Windows.Forms.DataVisualization.Charting;
namespace DrawPieChart
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// 查询数据库中的商品信息
string connectionString = "Data Source=(local);Initial Catalog=MyDatabase;Integrated Security=True";
string query = "SELECT ProductName, Quantity FROM Products";
List<KeyValuePair<string, int>> products = new List<KeyValuePair<string, int>>();
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(query, connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
string productName = reader.GetString(0);
int quantity = reader.GetInt32(1);
products.Add(new KeyValuePair<string, int>(productName, quantity));
}
reader.Close();
}
// 创建一个新的扇形图
Chart chart = new Chart();
chart.Size = new Size(400, 400);
// 添加一个图表区域
ChartArea chartArea = new ChartArea();
chartArea.Name = "PieChartArea";
chart.ChartAreas.Add(chartArea);
// 添加一个数据系列
Series series = new Series();
series.ChartArea = "PieChartArea";
series.ChartType = SeriesChartType.Pie;
chart.Series.Add(series);
// 将商品数量添加到数据系列中
foreach (KeyValuePair<string, int> product in products)
{
series.Points.AddXY(product.Key, product.Value);
}
// 显示图例
chart.Legends.Add(new Legend("Legend"));
// 将图表添加到窗体中,并调整位置和大小
chart.Location = new Point(10, 10);
chart.Width = this.ClientSize.Width - 20;
chart.Height = this.ClientSize.Height - 20;
this.Controls.Add(chart);
}
}
}
```
此代码将从数据库中查询商品信息,并将其绘制为扇形图。您可以根据需要更改数据库连接字符串和查询语句。
阅读全文