c语言数据库libzdb库的安装以及使用

 下载,注意版本,使用3.1版本,如果以上的,可以支持c++17,我使用的不需要支持,搞c++17环境有些麻烦

wget http://www.tildeslash.com/libzdb/dist/libzdb-3.1.tar.gz

tar -zxvf libzdb-3.1.tar.gz

./configure

make

make install

ldconfig

以下直接调用

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <zdb/zdb.h>
#include <zdb/Exception.h>
#include <zdb/Connection.h>
#include <zdb/URL.h>
/*
 * 编译方式:gcc main.c -I /usr/local/include/zdb/ -o main -lzdb
 * */
int main(int agc,char** argv)
{
    URL_T url = URL_new("mysql://localhost/media?user=media&password=media1234");
    if(url==NULL)
    {
        printf("URL parse ERROR!\n");
        return 0;
    }
    ConnectionPool_T pool = ConnectionPool_new(url);
    //设置初始化连接数目
    ConnectionPool_setInitialConnections(pool,20);
    //开启线程池
    ConnectionPool_start(pool);
    //从线程池中取出连接(活动连接数+1)
    Connection_T con = ConnectionPool_getConnection(pool);
    //执行SQL语句,返回结果集
    ResultSet_T result = Connection_executeQuery(con, "select * from hy_admin");
    //输出全部连接数目
    printf("ALL NUMBE:%d\n",ConnectionPool_size(pool));
    //输出活动连接数目
    printf("ACTIVE NUMBER:%d\n",ConnectionPool_active(pool));
    while(ResultSet_next(result)) //游标滑到下一行
    {
        //获取列名 ResultSet_getColumnName
        //获取列值 ResultSet_getString
        printf("column: %s\n",ResultSet_getColumnName(result,2));
        //根据列名获取值ResultSet_getStringByName
        printf("%s\n ",ResultSet_getStringByName(result,"username"));
        //根据列索引获取列值 [注意索引是从1开始不是0]
        printf("%s\n ",ResultSet_getString(result,3));
    }
    //关闭连接(活动连接-1)
    Connection_close(con);
    //将连接池与数据库分离
    ConnectionPool_stop(pool);
    ConnectionPool_free(&pool);
    URL_free(&url);
    return 0;
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用C语言的MySQL数据库操作,需要先进行以下几个步骤: 1. 下载并安装MySQL C API。可以从MySQL官方网站下载MySQL C API的安装包,然后进行安装。 2. 在C语言程序引入MySQL C API的头文件。在C语言程序,需要引入MySQL C API的头文件,如mysql.h。 3. 创建MySQL连接。使用mysql_init函数创建一个MySQL连接,并使用mysql_real_connect函数连接到MySQL服务器。 4. 执行SQL语句。使用mysql_query函数执行SQL语句,如SELECT、INSERT、UPDATE等。 5. 处理查询结果。如果执行的SQL语句是SELECT,则可以使用mysql_store_result和mysql_fetch_row函数来处理查询结果。 6. 关闭MySQL连接。使用mysql_close函数关闭MySQL连接。 下面是一个示例代码,用于连接MySQL数据库并查询一条记录: ``` #include <stdio.h> #include <stdlib.h> #include <mysql.h> int main(int argc, char *argv[]) { MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row; char *server = "localhost"; char *user = "root"; char *password = "123456"; char *database = "test"; conn = mysql_init(NULL); if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) { fprintf(stderr, "%s\n", mysql_error(conn)); exit(1); } if (mysql_query(conn, "SELECT * FROM student WHERE id = 1")) { fprintf(stderr, "%s\n", mysql_error(conn)); exit(1); } res = mysql_store_result(conn); row = mysql_fetch_row(res); printf("id: %s, name: %s, age: %s\n", row[0], row[1], row[2]); mysql_free_result(res); mysql_close(conn); return 0; } ``` 上述代码连接到MySQL服务器,选择test数据库,并查询id为1的学生记录。如果连接或查询失败,则会输出错误信息。如果查询成功,则会输出该学生的id、name和age字段的值。最后,关闭MySQL连接并退出程序。 当然,具体的数据库操作还需要根据实际需求进行调整和完善,如异常处理、批量操作等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值