Winform 查询SQlite数据库按照四个值Q1 、Q2、Q3和Q4在数据库季度一列的中Q1 、Q2、Q3和Q4各自的数量并返回datatable
时间: 2024-01-28 07:04:10 浏览: 61
您好,这是一个关于 Winform 查询 SQLite 数据库中四个值 Q1、Q2、Q3 和 Q4 在数据库季度一列中 Q1、Q2、Q3 和 Q4 各自的数量并返回 DataTable 的示例代码:
```csharp
using System.Data.SQLite;
using System.Data;
public DataTable QuerySQLite() {
string connectionString = "Data Source=<database file path>"; // 数据库连接字符串
string query = "SELECT Quarter, " +
"SUM(CASE WHEN Q1 = 1 THEN 1 ELSE 0 END) AS Q1, " +
"SUM(CASE WHEN Q2 = 1 THEN 1 ELSE 0 END) AS Q2, " +
"SUM(CASE WHEN Q3 = 1 THEN 1 ELSE 0 END) AS Q3, " +
"SUM(CASE WHEN Q4 = 1 THEN 1 ELSE 0 END) AS Q4 " +
"FROM <table name> GROUP BY Quarter"; // 查询语句
DataTable dataTable = new DataTable(); // 创建 DataTable
using (SQLiteConnection connection = new SQLiteConnection(connectionString)) {
connection.Open(); // 打开数据库连接
using (SQLiteCommand command = new SQLiteCommand(query, connection)) {
using (SQLiteDataReader reader = command.ExecuteReader()) {
dataTable.Load(reader); // 读取数据到 DataTable 中
}
}
connection.Close(); // 关闭数据库连接
}
return dataTable; // 返回 DataTable
}
```
其中,`<database file path>` 是 SQLite 数据库文件的路径,`<table name>` 是需要查询的表名。通过执行查询语句,将查询结果读取到 DataTable 中并返回。这里使用了 `SUM` 函数和 `CASE WHEN` 语句对 Q1、Q2、Q3 和 Q4 四个值在数据库季度一列中各自的数量进行统计。
阅读全文