我并没有用vc访问过mysql。不过我想在vc中用c去访问mysql总可以吧。
你用mysql提供的c api 试试。

解决方案 »

  1.   

    这位大哥,我就是用vc中c访问的,可总是连不上
    你帮我看一下我的代码;
    #include <stdio.h>
    #include <stdlib.h>
    #include <my_global.h>
    #include <mysql.h>int main()
    {
    /***************变量声明部分***********/
    MYSQL *mysql;
    MYSQL_RES *result;
    MYSQL_ROW row;
    unsigned int num_fields;
    int i;
    /*******连接部分 ************/
    mysql=mysql_init(mysql);
    if(!mysql_real_connect(mysql,"localhost","pub","pub","userdb",0,NULL,0))

    fprintf(stderr,"failed to connect:error:%\n",mysql_error(mysql));
    //return false;
    return -1;
    }

    /***********打印连接信息*************/
    printf("server info:%s\n",mysql_get_server_info(mysql));
    printf("host info:%s\n",mysql_get_host_info(mysql)); /******************选择数据库***********/
    if (mysql_select_db(mysql,"userdb"))
    {
    printf("select db wrong:%s\n",mysql_error(mysql));
    return -1; } /*********查询***********/
    mysql_query(mysql,"select * from user order by ID");
    result=mysql_store_result(mysql);
    if (result==NULL)
    {
    printf("error:%s\n",mysql_error(mysql));
    return -1;
    }
    num_fields=mysql_num_fields(result);
    while((row=mysql_fetch_row(result)))
    {
    unsigned long *lengths;
    printf("######row######");
    lengths=mysql_fetch_lengths(result);
    for(i=0;i<4;i++)
    {
    printf("[%.*s\n",(int)lengths[i],row[i]?row[i]:"NULL");
    }
    }
    /*********释放内存,关闭连接*********/ mysql_free_result(result);
    mysql_close(mysql);
    }
      

  2.   

    楼上的大哥可以指点一下用 vc的c 连mysql的步骤吗?
      

  3.   

    试试:
    1.分别把"c:\mysql\include"和"c:\mysql\lib\debug"添加到编译选项的包含路径中(在Tools/Options/derectoies中)
    2.在project settings 中加入c:\mysql\lib\libmysql.lib的接口库
      

  4.   

    看了你的代码,没有什么大问题。就是在初始化的时候,传的参数怎么是mysql而不是0或者NULL呢?
    你步步都有出错提示,为什么不在初始化的时候也加上呢?
    如果初始化不成功的话,下面的操作都不会进行的。
    试试吧。
      

  5.   

    mysql=mysql_init(mysql);
    不能使用这语句,我也是初学者,上午才发现了这个,呵呵。
    要不然你联不上数据库,包错。
    这样就行:mysql=mysql_init(NULL);