讲筛分出来的数据存储到数据库,并且绘图
时间: 2024-04-14 11:30:22 浏览: 20
若要将筛选出的数据存储到数据库并绘制图表,你可以使用 C# 中的数据库操作和图表绘制库。以下是一个示例代码,使用 SQL Server 和 Chart.js 库来实现这个功能:
```csharp
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Web.UI.DataVisualization.Charting;
class Program
{
static void Main()
{
string connectionString = "YourConnectionString";
string query = "SELECT * FROM YourTable WHERE PM10 > 10";
List<double> pm10Values = new List<double>();
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(query, connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
double pm10Value = Convert.ToDouble(reader["PM10"]);
pm10Values.Add(pm10Value);
}
reader.Close();
}
// 将数据存储到数据库表中,这里假设你有一个名为 "FilteredData" 的表来存储筛选出的数据
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
foreach (double pm10Value in pm10Values)
{
string insertQuery = $"INSERT INTO FilteredData (PM10) VALUES ({pm10Value})";
SqlCommand insertCommand = new SqlCommand(insertQuery, connection);
insertCommand.ExecuteNonQuery();
}
}
// 使用 Chart.js 绘制图表
var chart = new Chart();
chart.Width = 500;
chart.Height = 300;
var chartArea = new ChartArea();
chart.ChartAreas.Add(chartArea);
var series = new Series();
series.ChartType = SeriesChartType.Line;
series.BorderWidth = 2;
foreach (double pm10Value in pm10Values)
{
series.Points.AddY(pm10Value);
}
chart.Series.Add(series);
// 将图表保存为图片或显示在窗口中
chart.SaveImage("chart.png", ChartImageFormat.Png);
// 或者
//chart.SaveImage(Response.OutputStream, ChartImageFormat.Png);
}
}
```
请确保将 `YourConnectionString` 替换为你的数据库连接字符串,并将 `YourTable` 替换为你要查询的表名称。这段代码会将筛选出的数据存储到名为 "FilteredData" 的数据库表中,并使用 Chart.js 库绘制折线图。你可以根据需要调整图表的样式和其他配置,然后将图表保存为图片或显示在窗口中。