在MFC中连数据库,在某一事件函数中,如果:
CString strSQL="insert into guide(guide_id,guide_name) values('1234567891','杨玉江')";
if((mysql_real_query(&mysql,(char*)(LPCTSTR)strSQL,(UINT)strSQL.GetLength()))!=0)
MessageBox("查询语句执行有误");
else
MessageBox("修改成功");但如果改为:
CString strSQL="insert into guide(guide_id,guide_name) values(this->m_guide_id,this->m_guide_name)";
if((mysql_real_query(&mysql,(char*)(LPCTSTR)strSQL,(UINT)strSQL.GetLength()))!=0)
MessageBox("查询语句执行有误");
else
MessageBox("修改成功");则会出错请问若我想在values()这儿用变量来替换,应该如何操作?
请注意:我是在MFC环境中。

解决方案 »

  1.   

    CString strSQL="insert into guide(guide_id,guide_name) values('"+this->m_guide_id+"','"+this->m_guide_name+"')";
      

  2.   

    用sprintf,或者用stmt_bind* API进行动态 绑定。
      

  3.   

    CString strSQL;
    strSQL.Format("INSERT INTO tb_Guide(guide_id,guide_name)VALIES(%d,'%s')", this->m_guid_id, this->m_guid_name);