参考文章
说明
- 用了该篇《Dev-C++连接mysql数据库》的1~6步
注意:其中第5步中的
工具=》编译器选项=》C++包含文件,添加mysql安装目录的include
- 改为 工具=》编译器选项=》C包含文件,添加mysql安装目录的include
- 用了《C语言连接mysql数据库详细步骤》的步骤
三、从数据库获取数据
四、总体代码
亲测有效
#include<stdio.h> #include<stdlib.h> #include <winsock.h> #include <mysql.h> #pragma comment (lib, "libmysql.lib") int main() { MYSQL *conn; //数据库连接句柄 MYSQL_RES *res; //执行数据库语言结果 MYSQL_ROW row; //存放一个数据记录 char* server = "localhost";//本地连接 char* user = "root";// char* password = "root";//mysql密码 char* database = "cjdbctest";//数据库名 char* query = "select * from user";//需要查询的语句 conn = mysql_init(NULL); //句柄初始化 int t; if (!mysql_real_connect(conn, server, user, password, database, 3306, NULL, 0)) //判断是否连接成功 { printf("Error connecting to database:%s\n", mysql_error(conn)); } else { printf("Connected...\n"); } //字符编码,解决乱码 if (!mysql_set_character_set(conn, "gbk")) { printf("New client character set: %s\n", mysql_character_set_name(conn)); } if (mysql_query(conn, query)) { printf("Error making query:%s\n", mysql_error(conn)); } else { printf("Query made...\n"); res = mysql_use_result(conn); //获取结果 if (res) { while ((row = mysql_fetch_row(res)) != NULL) { //printf("num=%d\n",mysql_num_fields(res));//列数 for (t = 0; t < mysql_num_fields(res); t++) printf("%8s ", row[t]); printf("\n"); } } mysql_free_result(res); } mysql_close(conn); //断开数据库 system("pause"); return 0; }