zoukankan      html  css  js  c++  java
  • 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
    ", mysql_error(conn));
    20       return -1;
    21     }
    22     printf("连接成功!
    ");
    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
    ", rows);
    29     while(rows--)
    30     {
    31         MYSQL_ROW row = mysql_fetch_row(res); //从结果集中获取一行
    32         printf("%s %s
    ", row[0], row[1]);  //row[0]表示第一个字段值,row[1]表示第二个字段值
    33     }
    34     mysql_free_result(res);   //查询完后记得要释放
    35     mysql_close(conn);
    36     return 0;
    37 }
    View Code
  • 相关阅读:
    实例15_C语言绘制万年历
    医生酒精
    实例13_求解二维数组的最大元素和最小元素
    用二维数组实现矩阵转置
    C语言中的typedef跟define的区别
    C语言设计ATM存取款界面
    MyBatis,动态传入表名,字段名的解决办法
    在mybatis执行SQL语句之前进行拦击处理
    使用Eclipse构建Maven的SpringMVC项目
    Debug过程中的mock (及display窗口的使用)
  • 原文地址:https://www.cnblogs.com/xiaxiaosheng/p/5357236.html
Copyright © 2011-2022 走看看