UpdateData();
CString strUsername,strList,strRe;

GetDlgItem(IDC_EDIT_USERNAME)->GetWindowText(strUsername);
GetDlgItem(IDC_EDIT_VISITELIST)->GetWindowText(strList);
GetDlgItem(IDC_EDIT_REMARK)->GetWindowText(strRe); CString strSQL;
strSQL.Format("update mytable set username=\'%s\',visitelist=\'%s\',re=\'%s\' where username=\'%s\'",strUsername,strList,strRe,str_PreName); if(mysql_real_query(&mysql,(char*)(LPCTSTR)strSQL,(UINT)strSQL.GetLength())!=0)

AfxMessageBox("修改失败"); 
}
数据库连接已经成功,就是修改删除添加都不行
if(mysql_real_query(&mysql,(char*)(LPCTSTR)strSQL,(UINT)strSQL.GetLength())!=0)

AfxMessageBox("修改失败"); 
}
这块总出错,修改失败,这是什么原因呢

解决方案 »

  1.   

    出错信息是什么?strSQL的实际内容是什么?
      

  2.   

    CString strSQL;
    strSQL.Format("update mytable set username=\'%s\',visitelist=\'%s\',re=\'%s\' where username=\'%s\'",strUsername,strList,strRe,str_PreNam
    这就是strSQL的内容,
    编译连接都没有错误,只是
    mysql_real_query(&mysql,(char*)(LPCTSTR)strSQL,(UINT)strSQL.GetLength())这条语句有错误,它本因该返回的是非零
      

  3.   

    如果你的 strSQL 的内容是 strsql = "strSQL.Format("update mytable set username=\'%s\',visitelist=\'%s\',re=\'%s\' where username=\'%s\'",strUsername,strList,strRe,str_PreNam"可以性不大啊。建议你还是直接调试中cout << strsql 打出来看一下吧。
      

  4.   

    我单步调试的,然后再调试过程中观察的值,strsql就是我预先期望的值,所以不知道究竟是哪里出错了
      

  5.   

    username原来建表的时候列的名字是usename,这是郁闷了