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

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

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

既然你已经取到数据,并且把他赋值给一个变量了。 只需在数据库中建立个表。对应的存储进去啊! 如果你还不懂得怎么进行数据存储。这个是对数据库的 *** 作。 其中 CN 代表的是连接字符串

public int YG_mesageAdd(string YGname, string YGINtrodution, string iamgeAddess)

{

//设置标志位用来判断数据添加是否正确

int flage

//实例化 sql 存储过程

SqlCommand cmd = new SqlCommand("YG_addMesage", cn)

cmd.CommandType = CommandType.StoredProcedure

//需要添加的数据

SqlParameter[] param =

{

new SqlParameter("@YGname",YGname),

new SqlParameter("@YGINtrodution",YGINtrodution),

new SqlParameter("@iamgeAddess",iamgeAddess),

}

cmd.Parameters.AddRange(param)

// 执行 *** 作

cn.Open()

flage = cmd.ExecuteNonQuery()

cn.Close()

return flage

}

下面是具体的代码。

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

}


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存