有关数据库的查询语句的。解决思路

有关数据库的查询语句的。。。
C/C++ code

void CRegeditServerDlg::ConnectMysql()
{
    
    char *host = "localhost";//数据库IP
    char *user = "root";//数据库账号
    char *pass = "123456";//数据库密码
    char *db = "my_database";//当前数据库

    //数据类型声明
    MYSQL *sock;//数据库连接指针声明
    MYSQL_RES *results;//查询结果集声明
    MYSQL_ROW record;//查询结果行声明
    sock = mysql_init(0);//初始化指针
    if (!sock)
    {
        AfxMessageBox(L"数据库初始化失败!");
        return;
    }
    //connection
    if (!mysql_real_connect(sock, host, user, pass, db, 0, NULL, 0))
    {
        AfxMessageBox(L"数据库连接失败!"); 
        return;
    }
    //mysql_set_character_set(sock,"gb2312");//设置当前字符为gb2312,支持中文
    //connection character set
    //cout << "当前字符集为: " << mysql_character_set_name(sock) << endl;
    //执行查询
    char *my_sql="select * from my_user";
    if(!mysql_query(sock,my_sql))
    {
         AfxMessageBox(L"查询失败!"); 
         return;
    }
    results=mysql_store_result(sock);
    int i=0;
    while(record = mysql_fetch_row(results))
    {
        m_list.InsertItem(i,(LPCTSTR)record[0]);
        m_list.SetItemText(i,1,(LPCTSTR)record[1]);
        m_list.SetItemText(i,2,(LPCTSTR)record[2]);
        i++;
    }
    mysql_free_result(results);//释放结果

    //关闭连接
    mysql_close(sock);
}

这段代码中,为什么查询总是失败!前面数据库的初始化和连接都成功!这段代码在Win32控制台程序可以运行,但是在MFC基于对话框中却不能查询成功????为什么啊、、、、高手详细解答啊。。。

------解决方案--------------------
返回0就表示是成功了.
http://dev.mysql.com/doc/refman/5.1/zh/apis.html#mysql-query
------解决方案--------------------
大哥你搞反了,MYSQL及SQLITE里面一般返回0是表示成功的。。。。