想用mysql作为C++程序的数据库,上官网看了一些,有一些资料是关于C的,C++的资料点进去是空的。希望大神告诉我,怎么进行开发?现在已经装了mysql最新的版本。

解决方案 »

  1.   

    哥,我是google的。我肯定会事先查呀!
      

  2.   

    需要mysql的C语言开发包
    也就是头文件和lib文件
    有动态连接和静态连接两种方式
    #include "stdafx.h"   
    #include <windows.h>   
    #include <winsock2.h>   
    #include <mysql.h>
      
    //忽略LIBCMT.lib, MSVCRTD.lib这些库,不然链接时会报lnk2005错误   
    #pragma comment(linker,"/nodefaultlib:LIBCMT.lib")   
    #pragma comment(linker,"/nodefaultlib:MSVCRTD.lib")   
      
    /*用mysqlclient.lib,不要用libmysql.lib,要不你要多带一个libmysql.dll 
    静态库有两个,一个是debug版的,一个是release版的,要注意 
    */  
    //#if defined _DEBUG   
    //#pragma comment(lib, "mysqlclient_debug.lib")    
    //#else   
    #pragma comment(lib,"bufferoverflowU.lib") 
    #pragma comment(lib, "libmysql.lib")
    //#endif   
      
    #pragma comment(lib, "wsock32.lib")   
    #pragma comment(lib, "Advapi32.lib")  
      
    int main(int argc, char* argv[])  
    {  
        MYSQL* mysql = NULL;  
        mysql = mysql_init(mysql);  
      
        MYSQL_RES* res;  
        MYSQL_ROW record;  
      
        mysql_real_connect(mysql, "127.0.0.1", "root","58612911", "test", 3306, NULL, NULL); 
        mysql_query(mysql, "set names gbk;");   
        mysql_query(mysql, "select * from a");  
        res = mysql_store_result(mysql);  
        while((record=mysql_fetch_row(res)))  
        {  
            printf("id=%s,name=%s\r\n", record[0], record[1]);
        }  
        mysql_free_result(res);  
        mysql_close(mysql);  
      
        return 0;     
    }  
      

  3.   

    可是我想用C++的api,网上说connector C++做出来和JDBC差不多,很好用。但是我在网上找到的连接方式全部都必须要把编译环境配置一下。
    我是这样想的:它里面的.h文件和.lib文件和.dll文件都已经 有了,为什么需要配置?有没有拷贝的方式呢?求大神解答。
      

  4.   

    刚才下载了connector C++的mysql-connector-c++-noinstall-1.0.5-win32,目录下有:inlude 和lib两个文件夹:lib下有一个.dll两个.lib;而include里有2个.h文件和一个子文件夹,子文件夹下全是.h文件。刚才搜到了一个用vs配置的方法,可以行得通,果然和jdbc基本上是一样的。
    但是唯独PreparedStatement类报错找不找,但是这个类对应的文件在目录里确实存在,配置之后却在视图里没有显示。我的配置觉得没有问题,请问是不是提供的.lib文件有问题?
    还有如果我不想配置,想用拷贝和写代码的方式如何做?我知道.dll放在哪里,但是.lib和带有子目录的.h文件放在哪里?我直接拷贝试过了,不好使。