怎么用VC将串口数据存储到access数据库中的呢?是不是得先把串口数据存储然后再将数据写入数据库?

怎么用VC将串口数据存储到access数据库中的呢?是不是得先把串口数据存储然后再将数据写入数据库?,第1张

当然是两部分程序啦。

第一部分读取串口

第二部分写数据库。

第一部分和第二部分之间不必把数据写到硬盘或者文件啥的。用个变量或者结构体啥的存一下,第二部分能用即可。

在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

}

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


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

原文地址: https://outofmemory.cn/sjk/9624719.html

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

发表评论

登录后才能评论

评论列表(0条)

保存