u011043838
u011043838
采纳率0%
2015-01-23 14:05

新手,在做基于C++的串口接收数据导入SQL数据库的程序。有问题想请教大家。

这是我写的串口接受的程序,现在可以接收串口数据并成功存入数据库,但是无法将数据根据需要存入数据库表中的特定列。接收的数据应该是以空格来断开,从而存入不同的表中,现在只能讲接受的数据都存入一列当中,请大家帮我看看程序,怎么改写。先谢过大家
void CChuankouDlg::OnComm()
{

xinxi m_xinxi;

// TODO: Add extra initialization here
VARIANT variant_inp;
COleSafeArray safearray_inp;
LONG len,k;
BYTE rxdata[2048];
CString str;
CString str1;
CString str2;

CString strtemp;
if (m_ctrlComm.GetCommEvent() == 2)//事件值为2表示接收缓冲区内有字符
{

    variant_inp = m_ctrlComm.GetInput();
    safearray_inp = variant_inp;
    len = safearray_inp.GetOneDimSize();
    for (k = 0; k<len; k++)
    {
        safearray_inp.GetElement(&k, rxdata + k);
    }
    for (k = 0; k<len; k++)
    {
        BYTE bt = *(char*)(rxdata + k);
        strtemp.Format("%c", bt);
        m_strEditRXData += strtemp;
        str += strtemp;

    }

//::MessageBox(NULL,time,"当前时间",MB_OK);
COleDateTime time = COleDateTime::GetCurrentTime();
CString s1= time.Format("%y:%m:%d:%H:%M:%S");
m_xinxi.sql_insert(s1,str,str2);

}
UpdateData(FALSE);//更新编辑框内容

}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • caozhy 从今以后生命中的每一秒都属于我爱的人 6年前
    点赞 2 评论 复制链接分享
  • lzp_lrp WorldMobile 6年前

    1.根据空格拆分数据,把数据放到一个数组里,可以参考

    http://blog.csdn.net/butterfly_dreaming/article/details/10142443

    2.然后把数据写入到数据库里

    点赞 评论 复制链接分享
  • 91program 91program 6年前

    你可以分两步来解决你的问题:
    1 数据通过串口接受与解析,以空格作为分割需要自己编码实现。有字符串处理函数可以方便的满足你的要求。好像是 strtok 之类,具体用法看帮助,有实例代码的。
    2 写数据库

    点赞 评论 复制链接分享

相关推荐