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
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值