Winform查询SQlite 一列的不重复的值作为bar 图的Y轴,每个值出现的次数作为bar 图的X轴
时间: 2024-03-22 13:36:51 浏览: 58
提取不重复数据在表格内的
实现这个功能的一种方式是:
1. 查询数据库,获取需要的数据。可以使用 `SELECT` 语句查询指定列,然后使用 `GROUP BY` 和 `COUNT` 统计每个值出现的次数。
```csharp
string query = "SELECT YourColumn, COUNT(*) AS Count FROM YourTable GROUP BY YourColumn";
```
2. 将查询结果存储到 DataTable 中。可以使用 `SQLiteDataAdapter` 类和 `Fill` 方法将查询结果加载到 DataTable 中。
```csharp
using (SQLiteConnection connection = new SQLiteConnection(connectionString))
using (SQLiteCommand command = new SQLiteCommand(query, connection))
using (SQLiteDataAdapter adapter = new SQLiteDataAdapter(command))
{
DataTable dataTable = new DataTable();
adapter.Fill(dataTable);
}
```
3. 将 DataTable 中的数据绑定到 BarChart 控件上。可以使用 `DataBindXY` 方法将 DataTable 中的两列数据分别绑定到 BarChart 控件的 X 轴和 Y 轴上。
```csharp
barChart.Series[0].ChartType = SeriesChartType.Bar;
barChart.Series[0].XValueType = ChartValueType.String;
barChart.Series[0].YValueType = ChartValueType.Int32;
barChart.DataSource = dataTable;
barChart.Series[0].XValueMember = "YourColumn";
barChart.Series[0].YValueMembers = "Count";
barChart.DataBind();
```
完整代码示例:
```csharp
using System.Data;
using System.Data.SQLite;
using System.Windows.Forms.DataVisualization.Charting;
// 查询指定列,统计每个值出现的次数
string query = "SELECT YourColumn, COUNT(*) AS Count FROM YourTable GROUP BY YourColumn";
// 创建连接和命令对象,执行查询并将结果加载到 DataTable 中
using (SQLiteConnection connection = new SQLiteConnection(connectionString))
using (SQLiteCommand command = new SQLiteCommand(query, connection))
using (SQLiteDataAdapter adapter = new SQLiteDataAdapter(command))
{
DataTable dataTable = new DataTable();
adapter.Fill(dataTable);
// 将 DataTable 中的数据绑定到 BarChart 控件上
barChart.Series[0].ChartType = SeriesChartType.Bar;
barChart.Series[0].XValueType = ChartValueType.String;
barChart.Series[0].YValueType = ChartValueType.Int32;
barChart.DataSource = dataTable;
barChart.Series[0].XValueMember = "YourColumn";
barChart.Series[0].YValueMembers = "Count";
barChart.DataBind();
}
```
其中,`barChart` 是 WinForm 中的 BarChart 控件,`connectionString` 是 SQLite 数据库连接字符串。在使用之前需要将 `System.Windows.Forms.DataVisualization` 命名空间添加到代码文件中,并在表单中添加 BarChart 控件。
阅读全文