qq_15029743
2017-11-24 12:44
采纳率: 0%
浏览 845

MFC数据库操作输入英语会产生中断

数据库添加代码如下,连接的ACCESS,在EDIT框中输入数字能成功添加,输入其他字符就会报错,提示:
图片说明

 void Ctest3Dlg::OnBnClickedBtnAdd()
{
    // TODO:  在此添加控件通知处理程序代码
    _variant_t RecordsAffected;
    CString AddSql;
    CString id;
    CString generalcmd;
    CString generalcmdvalue;
    m_edit1.GetWindowText(id);
    m_edit2.GetWindowText(generalcmd);
    m_edit3.GetWindowText(generalcmdvalue);
    AddSql.Format("INSERT INTO userInfo(id,generalcmd,generalcmdvalue) VALUES(" +id +","+ generalcmd+ "," + generalcmdvalue + ")");
    try{
        m_pConnection->Execute((_bstr_t)AddSql, &RecordsAffected, adCmdText);
        AfxMessageBox(_T("添加用户成功!"));
    }
    catch (_com_error* e){
        AfxMessageBox(_T("添加用户失败!"));
    }
}
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • blownewbee 2017-11-24 15:05

    AddSql.Format("INSERT INTO userInfo(id,generalcmd,generalcmdvalue) VALUES(" +id +","+ generalcmd+ "," + generalcmdvalue + ")");
    既然Format,就应该用占位符和参数,怎么拼接呢。

    点赞 评论
  • qq_15029743 2017-11-25 00:35

    找到原因了,语法错误,没有加值的单引号,应该写成

        AddSql.Format("INSERT INTO userInfo(id,generalcmd,generalcmdvalue) VALUES('" + id + "','" + generalcmd + "','"+generalcmdvalue+"')");
    
    点赞 评论

相关推荐 更多相似问题