根据网上的资料
用C API的
在设置里面加入了libmysql.lib会出现(LIBMYSQL.DLL): 0xC0000005: Access Violation.想请问下达人..要怎么解决呢?...

解决方案 »

  1.   

    #include <stdio.h>
    #include <string.h>
    #include <winsock2.h>
    #include "mysql.h"#pragma comment(lib,"libmySQL.lib")把libmySQL.lib拷贝到程序目录
      

  2.   

    我那时是使用的一个mysql的odbc的一个驱动做的.
    使用ADO连接上去的.
    也可以使用.你这里这样做不知道你是使用什么东西.
      

  3.   

    你的是使用MYSQL的库, 这个情况下, 你要检查你的指针是不是初始化了, MYSQL_INIT
      

  4.   

    你连接之前,你要MYSQL *myconn = mysql_init(NULL);
      

  5.   

    #include <stdio.h>
    #include <string.h>
    #include <winsock2.h>
    #include "mysql.h"#pragma comment(lib,"libmySQL.lib")void main(){
       MYSQL *mysql;
       MYSQL_RES *res;
       MYSQL_ROW row;
       char *query;
       int t,r;
          mysql=mysql_init(mysql);
       if (!mysql_real_connect(mysql,"localhost","root","","ceshi",0,NULL,0))
       {
           printf( "Error connecting to database: %s\n",mysql_error(mysql));
       }
       else
       printf("Connected...\n");   query="Insert Into admin(username,password) values('whoami','iampf')";
       t=mysql_real_query(mysql,query,(unsigned int)strlen(query));
       if(t)
       {
       printf("Insert Error:%s\n",mysql_error(mysql));
       }   query="select * from admin";
       t=mysql_real_query(mysql,query,(unsigned int) strlen(query));
       if (t)
       {
          printf("Error making query: %s\n",
                  mysql_error(mysql));
       }
       else printf("Query made...\n");
       res=mysql_use_result(mysql);
       for(r=0;r<mysql_field_count(mysql);r++){
               row=mysql_fetch_row(res);
               if(row<0) break;
               for(t=0;t<mysql_num_fields(res);t++){
                       printf("%s ",row[t]);
               }
               printf("\n");
       }
       mysql_close(mysql);
    }