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”表中看到这些数据的条目。
相关问题拓展阅读:
怎样才能发送十六进制数据?用森卜字节数组,握前也可发送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)
连接你的数据库的位置,加他的唯祥 连接条件就可以拉指圆搏下面是一个连接数据库的模块,大家腔毕可以使用它来连接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数据库的信息别忘了在本站进行查找喔。
成都创新互联建站主营:成都网站建设、网站维护、网站改版的网站建设公司,提供成都网站制作、成都网站建设、成都网站推广、成都网站优化seo、响应式移动网站开发制作等网站服务。
网站题目:VS2023串口接收数据并保存至数据库(vs2023串口接收数据库)
分享路径:http://www.shufengxianlan.com/qtweb/news34/342884.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联