怎样将串口接收到的数据存到数据库中

怎样将串口接收到的数据存到数据库中,第1张

这是两个步骤的内容。首先是通讯,将串口接收的数据(十六进制数或ASCII码),按照通讯规约进行解析,解析输出所需的数据;然后是数据存储,这个过程就是一个数据入库过程,与是否串口接收没有大的关系,编写连接数据库代码,写入数据库即可;最后,由于串口接收数据是实时通讯,而数据的解析和写库需要时间,程序的时序应安排好,防止数据解析和写库时间过长造成数据丢失。

比如将串口接收到的字符保存到access,可以定义一个全局函数void datastore(),

在void CEx4Dlg::OnOnCommMscomm()中调用datastore,下面是具体的代码。

void CEx4Dlg::datastore()

{

_RecordsetPtr m_pRecordset

m_pRecordset.CreateInstance(__uuidof(Recordset))

try

{

m_pRecordset->Open("SELECT * FROM ado",// 查询DemoTable表中所有字段

m_pConnection.GetInterfacePtr(), // 获取库接库的IDispatch指针

adOpenDynamic,

adLockOptimistic,

adCmdText)

}

catch(_com_error *e)

{

AfxMessageBox(e->ErrorMessage())

}

UpdateData(false)

m_pRecordset->AddNew()

m_pRecordset->PutCollect("rec",_variant_t(m_strRecieve))

m_pRecordset->Update()

m_pRecordset->Close()

m_pRecordset = NULL

AfxMessageBox(_T("成功保存记录!"))

return

}

其他怎么连接数据库和串口接收数据应该会吧?

如果是PC端的软件,把串口数据接收过来后,需要处理的话,处理完成后直接存入数据库。

如:VB6+SQL Server的开发环境

VB6中采用MSComm控件接收串口数据,数据库可以采用ADO控件。

你的问题描述不清楚,不知道你到底要做什么?请把问题说清楚些


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10047543.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存