qq_40568813 2018-07-02 02:08 采纳率: 50%
浏览 1129
已结题

vs2010上位机与mysql的连接

我把上位机和mysql连起来后,每20ms采集一次数据,程序调试没有错误,但是运行时采集几个数就会提示失败,并且也不是20ms,感觉变成1s了。
void Ca2Dlg::OnStart()
{
// TODO: 在此添加控件通知处理程序代码
RunTimeNumb = 0;
m_RunTime.Format("0");

CTime dt; 
dt=CTime::GetCurrentTime();
UpdateData(0);
SetTimer(0,1000,NULL);
//SetTimer(1,1000,NULL);
SetTimer(2,20,NULL);

}
case 2:
AddDataToLists();
break;
void Ca2Dlg::AddDataToLists()
{
UpdateData(TRUE);

CString local_m_WheelSpeed = m_WheelSpeed.GetBuffer();  

// 创建 MYSQL 对象。  
MYSQL local_mysql;  
// 初始化 MYSQL 对象。  
mysql_init(&local_mysql);  
// 连接数据库  
if(!mysql_real_connect(&local_mysql,"localhost","root","root","test1",3306,NULL,0))  
{  
    AfxMessageBox(_T("connect to database failed!"));  
}  
else  
{  
    //AfxMessageBox(_T("connect to database success!"));  
    // 设置字符集, 使程序支持中文。  设置数据库字符格式,解决中文乱码问题
    mysql_query(&local_mysql, "set names 'gb2312'");  
}  

// 创建 SQL 语句字符串  
CString sql_insert;  
sql_insert.Format("insert into wheel(m_WheelSpeed) values ( \'%s\')",local_m_WheelSpeed);  
// 执行 sql 语句。  
// mysql_query() 的返回值份很多情形, 进行判断使要注意。  
if(mysql_query(&local_mysql,(char*)(LPCTSTR)sql_insert)==0)  
{     
    AfxMessageBox("insert succeed!");     
}else{  
     AfxMessageBox("insert failed!");  
}  
// 关闭 local_mysql 所关联的数据库连接, 一般情况下不用写。  
mysql_close(&local_mysql);  
UpdateData(FALSE); 

}

  • 写回答

7条回答

  • threenewbee 2018-07-02 02:16
    关注

    你的代码什么乱七八糟的
    case 2:
    AddDataToLists();
    break;

    那么case 1:呢
    switch呢。
    是不是漏了什么。

    数据接收完整么?用串口助手看了么?什么样的数据没有入库,找下规律。

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器