codeblocks 编写C文件连接mysql数据库【2018.08.08更新】
codeblocks 设置。
1.设置lib库文件:
Settings->Compiler settings->Linker settings->link libraries: add添加自己电脑中lib文件例如: C:Program FilesMySQLMySQL Server 5.5liblibmysql.lib
2.设置.h头文件:
Settings->Compiler settings->Search directories->Compiler: add 添加自己mysql数据库的include文件 例如:C:Program FilesMySQLMySQL Server 5.5include
按照自己电脑中文件的路径,只需两步引入即可。
[3.注意libmysql.dll文件,若文件丢失可下载,下载后放在 bin文件夹下即可]
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连接成功! "); 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 ! "); 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 行 ", row); 53 /*输出結果的字段名*/ 54 for (i = 0; field = mysql_fetch_field(res_ptr); i++) 55 printf("%10s ", field->name); 56 printf(" "); 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(" "); 64 } 65 } 66 /*不要忘了关闭连接*/ 67 mysql_close(&my_connection); 68 } 69 } 70 else 71 { 72 printf("数据库连接失败"); 73 } 74 }