linux 下C++查询mysql数据库

上一节我们看了怎么使用mysql提供的API来连接mysql数据库,现在来看看怎么执行一条简单的查询语句,并且把查询的结果显示出来。

准备工作:首先新建了一个数据库inote,在这个数据库下面新建了一张表user,有两个字段,分别是username, password.事先插入几条数据,以便待会儿看到效果。

编码:

char sql[] = "select * from user;";   //查询语句

 1 #include <cstdio>
 2 #include <mysql/mysql.h>
 3 
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     MYSQL *conn;
 9     MYSQL_RES *res;   //结果集
10     char server[] = "localhost";  //数据库服务器地址
11     char user[] = "root";         //用户名
12     char password[] = "admin";    //密码
13     char database[] = "inote";    //数据库名
14     conn = mysql_init(NULL);     //初始化数据库连接
15 
16     if (!mysql_real_connect(conn, server,user, password, database,
17                 0, NULL, 0))    //连接数据库
18     {
19       fprintf(stderr, "%s\n", mysql_error(conn));
20       return -1;
21     }
22     printf("连接成功!\n");
23     char sql[] = "select * from user;";  //查询语句
24     mysql_query(conn, (char*)sql);       //执行sql语句
25     res = mysql_store_result(conn);      //将查询结果装进MYSQL_RES
26     int rows = mysql_num_rows(res);      //获取结果行数
27 
28     printf("the number of the result is %d\n", rows);
29     while(rows--)
30     {
31         MYSQL_ROW row = mysql_fetch_row(res); //从结果集中获取一行
32         printf("%s %s\n", row[0], row[1]);  //row[0]表示第一个字段值,row[1]表示第二个字段值
33     }
34     mysql_free_result(res);   //查询完后记得要释放
35     mysql_close(conn);
36     return 0;
37 }
View Code

 

posted @ 2016-04-05 22:43  xiaxiaosheng  阅读(1662)  评论(0编辑  收藏  举报