分享

C语言连接Mysql数据库示例代码

 看风景D人 2014-03-04
  1. //vc工具中添加E:\WAMP\BIN\MYSQL\MYSQL5.5.8\LIB 路径  
  2.  //在工程设置-》链接》库模块中添加 libmysql.lib   
  3. #include <stdio.h>  
  4. #include <time.h>  
  5. #include <string.h>  
  6. #include <winsock.h>  
  7. #include "E:\wamp\bin\mysql\mysql5.5.8\include\mysql.h"  
  8. void main(){   
  9.        MYSQL *conn;   
  10.        MYSQL_RES *res;   
  11.        MYSQL_ROW row;   
  12.        char *server ="localhost";   
  13.        char *user ="root";   
  14.        char *password="";   
  15.        char *database="test";   
  16.        char sql[1024]="select * from chinaren";   
  17.        conn=mysql_init(NULL);   
  18.           
  19.        if(!mysql_real_connect(conn,server,user,password,database,0,NULL,0)){   
  20.                fprintf(stderr,"%s\n",mysql_error(conn));   
  21.                exit(1);   
  22.        }   
  23.   
  24.        if(mysql_query(conn,sql)){   
  25.                fprintf(stderr,"%s\n",mysql_error(conn));   
  26.                exit(1);   
  27.        }   
  28.   
  29.        res=mysql_use_result(conn);   
  30.   
  31.        while((row = mysql_fetch_row(res))!=NULL){   
  32.                printf("%s\n",row[2]);   
  33.        }   
  34.   
  35.        mysql_free_result(res);   
  36.        mysql_close(conn);   
  37. }  

===============================

#if defined(_WIN32) || defined(_WIN64)  //为了支持windows平台上的编译

02 #include <windows.h>
03 #endif
04 #include <stdio.h>
05 #include <stdlib.h>
06 #include "mysql.h"   
07    
08 //定义数据库操作的宏,也可以不定义留着后面直接写进代码
09 #define SELECT_QUERY "show tables;"
10    
11 int main(int argc, char **argv) //char **argv 相当于 char *argv[]
12 {
13     MYSQL mysql,*handle;        //定义数据库连接的句柄,它被用于几乎所有的MySQL函数
14     MYSQL_RES *result;          //查询结果集,结构类型
15     MYSQL_FIELD *field ;        //包含字段信息的结构
16     MYSQL_ROW row ;             //存放一行查询结果的字符串数组
17     char  querysql[160];        //存放查询sql语句字符串
18     //初始化
19     mysql_init(&mysql);
20     //连接数据库
21     if (!(handle = mysql_real_connect(&mysql,"localhost","user","pwd","dbname",0,NULL,0))) {
22         fprintf(stderr,"Couldn't connect to engine!\n%s\n\n",mysql_error(&mysql)); 
23     }
24     sprintf(querysql,SELECT_QUERY,atoi(argv[1]));
25     //查询数据库
26     if(mysql_query(handle,querysql)) {
27         fprintf(stderr,"Query failed (%s)\n",mysql_error(handle));
28     }
29     //存储结果集
30     if (!(result=mysql_store_result(handle))) {
31         fprintf(stderr,"Couldn't get result from %s\n", mysql_error(handle));
32     }
33     printf("number of fields returned: %d\n",mysql_num_fields(result));
34     //读取结果集的内容
35     while (row = mysql_fetch_row(result)) {
36         printf("table: %s\n",(((row[0]==NULL)&&(!strlen(row[0]))) ? "NULL" : row[0]) ) ; 
37     
38     //释放结果集
39     mysql_free_result(result);
40     //关闭数据库连接
41     mysql_close(handle);
42       
43     system("PAUSE");  
44     //为了兼容大部分的编译器加入此行
45     return 0;   
46 }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多