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 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛