第一部分读取串口。
第二部分写数据库。
第一部分和第二部分之间不必把数据写到硬盘或者文件啥的。用个变量或者结构体啥的存一下,第二部分能用即可。
在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
}
比如将串口接收到的字符保存到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
}
其他怎么连接数据库和串口接收数据应该会吧?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)