c++调用mysql提供的c api操作mysql问题,求救!

pbdwadr 2010-05-14 04:55:08

char* ch_query = "select * from mail";
if(mysql_real_query(&m_mysql, ch_query, (UINT)strlen(ch_query))!=0)
{
return false;
}

if(!(m_pQuery=mysql_use_result(&m_mysql)))
{
return false;
}

while(m_row=mysql_fetch_row(m_pQuery))
{
string strFrom = m_row[1];
if(mapBlacklist.find(strFrom.c_str()) != mapBlacklist.end())
{
// 发信人在黑名单中,标记邮件为垃圾邮件(代号:2)
string strSql = "update mail set m_status=2 where m_id=";
strSql += m_row[0];
int ret = mysql_real_query(&m_mysql, strSql.c_str(), (UINT)strSql.length());// 这里一直有问题,返回1.
if(ret != 0)
{
MessageBox(0, L"123", L"", MB_OK);
}
}
}
mysql_free_result(m_pQuery);


我的意思是,从数据库中一条一条的读取邮件信息,看它的发信人是否被列入黑名单,如果被列入黑名单,则把此邮件标记为垃圾邮件。
上面代码在注释的地方出错。
求解。
...全文
69 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ryan__zhao 2010-05-14
  • 打赏
  • 举报
回复
使用mysql_error(MYSQL *mysql)获得错误信息,应该对你又帮助
hzhxxx 2010-05-14
  • 打赏
  • 举报
回复

MYSQL C API 访问程序
http://blog.csdn.net/hzhxxx/archive/2006/12/14/1443031.aspx
pbdwadr 2010-05-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 freezezdj 的回复:]

sql语句就能干了吧,不用你写while()。

另外给你推荐个C++连接mysql的库,mysql++。
用api太麻烦。
[/Quote]

要写while的,因为我想判断mail中的每条记录的发信人是否被列入黑名单。

是不是在mysql_real_query释放之前不能调用mysql_real_query。
冻结 2010-05-14
  • 打赏
  • 举报
回复
sql语句就能干了吧,不用你写while()。

另外给你推荐个C++连接mysql的库,mysql++。
用api太麻烦。

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧