mysql_real_query的返回值不为0,手册里给出了几种错误类型,但怎么才能知道是哪种错误类型呢?

解决方案 »

  1.   

    Return Values Zero if the statement was successful. Non-zero if an error occurred. Errors CR_COMMANDS_OUT_OF_SYNC Commands were executed in an improper order. CR_SERVER_GONE_ERROR The MySQL server has gone away. CR_SERVER_LOST The connection to the server was lost during the query. CR_UNKNOWN_ERROR An unknown error occurred. 我又从哪里知道那些类型都对应的是什么数值呢,直接索引那些类型的话好像没有, 返回值是1,是什么类型的错误呢?
      

  2.   

    返回值不可能是1啊。#define CR_COMMANDS_OUT_OF_SYNC 2014
    #define CR_SERVER_GONE_ERROR 2006
    #define CR_SERVER_LOST 2013
    ..
      

  3.   

    long error = mysql_real_query(&mysql, sql, strlen(sql) + 1);
    if(error != 0)
    {
    AfxMessageBox("插入数据错误!");
    }
    我单步调试的,显示的error确实是1
      

  4.   

    if (error)
    {
        AfxMessageBox(mysql_error(&mysql));
    }