mysql删除表中的内容的语句

 void GetP::Delete(CString name){
    CString strSQL; 
    strSQL.Format("delete from mytable where name=\'%s\'",name);
    if(mysql_real_query(&mysql,(char*)(LPCTSTR)strSQL,(UINT)strSQL.GetLength())!=0) 
        AfxMessageBox("删除失败");
    else
        AfxMessageBox("删除成功");
}

当把名字传进来后为什么不能删除呢,弹出删除失败。并且数据库以连接。

mysql_free_result(result); 加上这句话就好了

估计还是SQL语句组合不对,可以打印出来直接数据库中执行

参考用VS2010使用C++写MySQL程序,使用mysql_real_query总弹错误提示!

VC6默认是MBCS,VC2010默认是UNICODE
(char*)(LPCTSTR)strExecuteSQL
就是将wchar_t*强制转换成char*,所以语句已经变成乱码
用CStringA代替CString...

你输出一下mysql_real_query的返回值,看看是什么错误,如果你的错误和上面的引用是一样的,那么你用CStringA代替CString试一下。
mysql_real_query()

参考VC2010 MySql 数据库 mysql_real_query 失败
你的mysql数据库的字符集是什么?如果是gbk的,试试下面的方法,如果是其他的,把下面的gbk改成相应的字符集

在mysql_real_query之前写执行mysql_real_query("set name gbk");设置字符集

参考一个简单用c和mysql的示范程序
在你的代码里面加一个宏

#define  error(x) printf("ERROR %d: %s\n", mysql_errno(x), mysql_error(x))

然后在mysql_real_query之后调用error(mysql); ,看看错误的msg是什么。