在现代工业自动化、物联网(IoT)、智能制造等领域,上位机系统不仅需要实现与硬件设备(如 PLC、传感器)的通信,还需要对采集的数据进行存储、管理和分析。为了应对大量数据存储的需求,数据库 是至关重要的组成部分。C# 上位机系统可以与不同类型的数据库(如 SQL Server、MySQL 和 Redis)进行联动,实现数据的高效存储、查询与管理。
本篇文章将介绍如何在 C# 上位机开发中实现与三种常见数据库的联动:SQL Server、MySQL 和 Redis。我们将通过具体的代码示例,展示如何通过 C# 程序实现数据的采集、存储和实时查询。
1. C# 上位机与 SQL Server 数据库联动
1.1 SQL Server 简介
SQL Server 是微软开发的关系型数据库管理系统(RDBMS),广泛应用于企业级应用、数据分析等领域。它通过支持 T-SQL 查询语言来管理结构化数据,支持强大的事务管理、查询优化和并发处理能力。
1.2 使用 C# 与 SQL Server 通信
要在 C# 中与 SQL Server 进行通信,我们可以使用 ADO.*** 或 Entity Framework 来实现。这里我们使用 ADO.*** 来进行演示。
1.2.1 安装 SQL Server 客户端
首先,确保在项目中添加了 SQL Server 客户端,可以通过 NuGet 包管理器安装 System.Data.SqlClient。
Install-Package System.Data.SqlClient
1.2.2 C# 代码示例:将数据写入 SQL Server
假设我们需要将采集到的传感器数据(例如,温度值)保存到 SQL Server 数据库中。以下是实现的代码:
using System;
using System.Data.SqlClient;
public class SqlServerExample
{
public static void Main()
{
string connectionString = "Server=localhost;Database=SensorData;User Id=sa;Password=yourpassword;";
// 创建 SQL Server 连接
using (SqlConnection connection = new SqlConnection(connectionString))
{
try
{
connection.Open();
Console.WriteLine("Connected to SQL Server.");
// SQL 插入语句
string query = "INSERT INTO SensorReadings (SensorID, Temperature, Timestamp) VALUES (@SensorID, @Temperature, @Timestamp)";
// 创建 SQL 命令
using (Sql***mand ***mand = new Sql***mand(query, co