aboutsummaryrefslogtreecommitdiff

sqlitepp

C++ binding for the SQLite library

Dependencies

  • required dependencies
  • libsqlite3
  • optional dependencies
  • libgtest (for tests)
  • Doxygen (for the documentation)
  • Python (for linting)

Example

test.cpp

#include <iostream>
#include <memory>
#include <sqlitepp/sqlitepp.h>

int main(int argc, char** argv) {
  sqlitepp::Database database("/path/to/database.sqlite");
  database.execute("CREATE TABLE test (id, value);");
  std::shared_ptr<sqlitepp::Statement> statement = database.prepare(
      "INSERT INTO test (id, value) VALUES (:id, :value);");
  statement->bind(":id", 1);
  statement->bind(":value", "test value");
  statement->execute();
  statement = database.prepare("SELECT id, value FROM test;");
  ResultSet resultSet = statement->execute();
  while (resultSet.canRead()) {
    std::cout << "ID: " << resultSet.readInt(0) << "\t value: "
        << resultSet.readString(1) << std::endl;
    resultSet.next();
  }
}

Compile and run with:

$ g++ --std=c++11 -o test -lsqlitepp -lsqlite3 test.cpp
$ ./test
ID: 1  value: test value

For more information, see the API documentation.