【linux】【c/cpp】【sqlite】sqlite库的使用

【linux】【c/cpp】【sqlite】sqlite库的使用

目前,几乎所有版本的 Linux 操作系统都附带 SQLite。所以,只要使用下面的命令来检查您的机器上是否已经安装了 SQLite。

$ sqlite3
SQLite version 3.7.15.2 2013-01-09 11:53:05
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>

sqlite3 安装:
如果没有看到上面的结果,那么就意味着没有在 Linux 机器上安装 SQLite。因此,让我们按照下面的步骤安装 SQLite

  1. 请访问 SQLite 下载页面,从源代码区下载 sqlite-autoconf-*.tar.gz。
$ tar xvzf sqlite-autoconf-3071502.tar.gz
$ cd sqlite-autoconf-3071502
$ ./configure --prefix=/usr/local
$ make
$ make install

使用:


#include <memory>
#include "sqlite3.h"

class SqliteEngine {
 public:
  SqliteEngine() {}
  virtual ~SqliteEngine() { Close(); }
  bool Init(const std::string &db_url){
    sqlite_url_ = db_url;
    if (sqlite3_open_v2(sqlite_url_.c_str(), &db_,
                        SQLITE_OPEN_READWRITE | SQLITE_OPEN_NOMUTEX |
                            SQLITE_OPEN_SHAREDCACHE,
                        NULL) != SQLITE_OK) {
      std::cout  << sqlite3_errmsg(db_);
      return false;
    };
    return true;
  }

  bool GetAllData(const std::string &db_coll) {
    sqlite3_stmt *stmt = NULL;
    std::string sql("select * from " + db_coll);
    int result = sqlite3_prepare_v2(db_, sql.c_str(), -1, &stmt, NULL);
    if (result == SQLITE_OK) {
      while (sqlite3_step(stmt) == SQLITE_ROW) {
        std::string info1 = (const char *)sqlite3_column_text(stmt, 0); //  第一列
        std::string info2 = (const char *)sqlite3_column_text(stmt, 1); //  第二列
      }
    }
    sqlite3_finalize(stmt);
    return true;
  }

 private:
  void Close(){
    if (db_) {
      sqlite3_close(db_);
      db_ = nullptr;
    }
  }

 private:
  sqlite3 *db_ = nullptr;
  std::string sqlite_url_;
};


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值