VS2023串口接收数据并保存至数据库 (vs2023串口接收数据库)
Visual Studio 2023串口接收数据并保存至数据库
随着技术的不断发展,串口通信已成为广泛应用于各种设备之间数据传输的一种方法。因此,如何在 Visual Studio 2023 中通过串口接收来自设备的数据并将其保存至数据库,成为了开发人员不可避免的问题。
本文将演示如何使用 Visual Studio 2023 通过串口接收数据并将其存储在数据库中。
之一步:创建数据库
在 Visual Studio 2023 中,需要打开“数据”窗口并右键单击“添加新数据源”。
在弹出的“添加新数据源向导”中,选择“数据库”并单击“下一步”。
在“数据源配置向导”中,选择“Microsoft SQL Server”作为数据源类型,并单击“下一步”。
接下来,需要指定数据库连接。在“连接属性”中,输入服务器名称、身份验证和数据库名称,单击“测试连接”,确保连接成功,然后单击“下一步”。
在“选择要在应用程序中使用的数据库对象”中选择要使用的表或视图。在本例中,我们将创建一个新表,因此选择“新建查询”。
在“查询设计器”中输入以下 SQL 语句来创建一个名为“SerialData”的新表:
CREATE TABLE SerialData(
ID int NOT NULL IDENTITY(1,1) PRIMARY KEY,
ReceivedData VARCHAR(50) NOT NULL,
ReceivedTime datetime NOT NULL
)
单击“运行查询”以创建表并单击“完成”。
现在,可以在数据库“Server Explorer”中查看新创建的表,以确保它已成功创建。
第二步:创建窗体
现在需要创建一个 Windows 窗体,以显示从串口接收的数据。
在 Visual Studio 2023 中,选择“文件”>“新建”>“项目”,然后选择“Visual C#”>“Windows 窗体应用程序”,并键入项目名称。单击“确定”以创建项目。
在 Form1 上滚动到“工具箱”,找到“串口”控件并将其拖动到窗体上。
在窗体上单击“串口控件”并选择“属性”。在“属性”窗口中,将“端口”属性更改为适当的串行端口,如“COM1”或“COM2”,选择适当的波特率,如“9600”,并将“数据位”、“奇偶校验”和“停止位”设置为与使用的设备匹配的值。将“接收到”事件的“委托”连接到窗体代码中的相应函数:
private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
// Take action once data has been received.
}
此函数会在接收到串行端口数据时被调用。
现在,需要添加保存从串口接收的数据到数据库的代码。将以下代码添加到窗体的“serialPort1_DataReceived”函数中:
string data = serialPort1.ReadExisting();
string time = DateTime.Now.ToString();
SqlCommand cmd = new SqlCommand(“INSERT INTO SerialData (ReceivedData,ReceivedTime) VALUES(‘” + data +”‘,'” + time + “‘)”, conn);
cmd.ExecuteNonQuery();
此代码将读取来自串口的现有数据,创建一个包含所读取数据和当前时间的 SQL 查询,并将其执行以将数据存储在数据库中。
在窗体顶部添加以下名称空间:
using System.Data.SqlClient;
现在,需要连接到数据库以保存数据。对于此例,将使用 SQL Server 进行连接。在窗体的类定义部分,声明一个 SqlConnection 变量:
SqlConnection conn = new SqlConnection(“Server=;Database=;User Id=;Password=;”);
请使用正确的服务器名称、数据库名称、用户名和密码替换代码中的占位符。将此代码添加到窗体的“Form_Load”函数中以打开数据库连接:
conn.Open();
恭喜!现在,您已完成了从串口接收数据并将其保存到数据库的任务。现在可以运行程序并在串口接收数据时,在“SerialData”表中看到这些数据的条目。