首页 > 代码库 > 【codeblocks配置】C对Mysql数据的查询

【codeblocks配置】C对Mysql数据的查询

codeblocks 编写C文件连接mysql数据库

codeblocks 设置。
1.设置lib库文件:
  Settings->Compiler settings->Linker settings->link libraries: add添加 C:\Program Files\MySQL\MySQL Server 5.5\lib\libmysql.lib

2.设置.h头文件:
  Settings->Compiler settings->Search directories->Compiler: add 添加 C:\Program Files\Microsoft SDKs\Windows\v6.0A\include
以上两步都只需引入即可。

[3.注意libmysql.dll文件,若文件丢失可下载,下载后放在 C:\Windows\System32下即可]

C ->mysql 查询数据

 1 #include <stdio.h> 2 #include <winsock2.h> 3 #include <mysql.h> 4 /*数据库连接用宏*/ 5 #define HOST "localhost"//本地 6 #define USERNAME "root"//dbms user name 7 #define PASSWORD "123456"//password 8 #define DATABASE "mydb"//database name 9 void query_sql(char* sql);10 int main()11 {12     char *query;13     query="select * from students";//查询学生表14     query_sql(query);15     return 0;16 }17 void query_sql(char* sql)18 {19     MYSQL my_connection; /*这是一个数据库连接*/20     int res; /*执行sql語句后的返回标志*/21     MYSQL_RES *res_ptr; /*指向查询结果的指针*/22     MYSQL_FIELD *field; /*字段结构指针*/23     MYSQL_ROW result_row; /*按行返回的查询信息*/24     int row, column; /*查询返回的行数和列数*/25     int i, j;26     /*初始化mysql连接my_connection*/27     mysql_init(&my_connection);28     /*建立mysql连接*/29     if (NULL != mysql_real_connect(&my_connection, HOST, USERNAME, PASSWORD,30                                    DATABASE, 0, NULL, CLIENT_FOUND_ROWS))  /*连接成功*/31     {32         printf("数据库查询query_sql连接成功!\n");33         /*设置查询编码为gbk,以支持中文*/34         mysql_query(&my_connection, "set names gbk");35         res = mysql_query(&my_connection, sql);36         if (res)   /*执行失败*/37         {38             printf("Error: mysql_query !\n");39             /*关闭连接*/40             mysql_close(&my_connection);41         }42         else     /*现在就代表执行成功了*/43         {44             /*将查询的結果给res_ptr*/45             res_ptr = mysql_store_result(&my_connection);46             /*如果结果不为空,就把结果print*/47             if (res_ptr)48             {49                 /*取得結果的行数和*/50                 column = mysql_num_fields(res_ptr);51                 row = mysql_num_rows(res_ptr);52                 printf("查询到 %d 行 \n", row);53                 /*输出結果的字段名*/54                 for (i = 0; field = mysql_fetch_field(res_ptr); i++)55                     printf("%10s ", field->name);56                 printf("\n");57                 /*按行输出結果*/58                 for (i = 1; i < row+1; i++)59                 {60                     result_row = mysql_fetch_row(res_ptr);61                     for (j = 0; j < column; j++)62                         printf("%10s ", result_row[j]);63                     printf("\n");64                 }65             }66             /*不要忘了关闭连接*/67             mysql_close(&my_connection);68         }69     }70     else71     {72         printf("数据库连接失败");73     }74 }

 

【codeblocks配置】C对Mysql数据的查询