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”表中看到这些数据的条目。

相关问题拓展阅读:

VB 串口 十六进制通讯,VS2023环境,serialport控件,现在能发送接收中文,怎样才能发送十六进制数据?

怎样才能发送十六进制数据?用森卜字节数组,握前也可发送16进此皮穗制串,看需要选择。

百度: 通讯 字节数组 vb

应该有一大片

例如发送十六进制:

只型差要蚂悄在前面加&H即可。

Dim TestArray() As String = Split(“”闷租渣)

Dim hexBytes() As Byte

ReDim hexBytes(TestArray.Length – 1)

Dim i As Integer

For i = 0 To TestArray.Length – 1

hexBytes(i) = Val(“&H” & TestArray(i))

Next

SerialPort.Write(hexBytes, 0, hexBytes.Length)

如何用vs连接SQL数据库

连接你的数据库的位置,加他的唯祥 连接条件就可以拉指圆搏下面是一个连接数据库的模块,大家腔毕可以使用它来连接SQL数据库,使用起来比ADO控件还简单:

代码如下:

Public rsNew As ADODB.Recordset

Public CnNew As ADODB.Connection

Public addFlag As Boolean

‘连接数据库

Public Function OpenCn() As Boolean

Dim Mag As String

On Error GoTo strErrMag

Set CnNew = New ADODB.Connection

CnNew. = 25

CnNew.Provider = “sqloledb”

CnNew.Properties(“data source”).value = “” ‘SQL服务器的名

CnNew.Properties(“initial catalog”).value = “pubs”‘库名

CnNew.Properties(“integrated security”).value = “SSPI”‘登陆类型

‘con.Properties(“user id”).value = “sa”

‘con.Properties(“password”).value = “wwww”

CnNew.Open

OpenCn = True

addFlag = True

Exit Function

strErrMag:

Mag = “数据库末连接”

Call MsgBox(Mag, vbOKCancel, “错误:数据库连接”)

addFlag = False

End

End Function

Public Sub Clocn()

‘闭关数据库

On Error Resume Next

If CnNew.State Then CnNew.Close

Set CnNew = Nothing

End Sub

Public Function OpenRs(ByVal strSql As String) As Boolean

‘连接数据库记录集

Dim Mag As String

Dim rpy As Boolean

On Error GoTo strErrMag

Set rsNew = New ADODB.Recordset

If addFlag = False Then rpy = OpenCn

With rsNew

= CnNew

= adUseClient

CursorType =

LockType =

Open strSql

End With

addFlag = True

OpenRs = True

Exit Function

strErrMag:

Mag = “数据库数据集末连接”

Call MsgBox(Mag, vbOKOnly, “错误:数据库连接”)

OpenRs = False

End

End Function

Public Sub cloRs()

‘闭关数据集

On Error Resume Next

If rsNew.State Then rsNew.Close

Set rsNew = Nothing

End Sub

vs2023串口接收数据库的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vs2023串口接收数据库,VS2023串口接收数据并保存至数据库,VB 串口 十六进制通讯,VS2023环境,serialport控件,现在能发送接收中文,怎样才能发送十六进制数据?,如何用vs连接SQL数据库的信息别忘了在本站进行查找喔。


数据运维技术 » VS2023串口接收数据并保存至数据库 (vs2023串口接收数据库)