SQLite C++ Wrapper -


未知
跨平台
C/C++

软件简介

SQLite C Wrapper 是一个 C 语言对 SQLite 的最小封装包。

示例代码1:

#include <string>  
#include <iostream>  
#include <stdexcept>  
using namespace std;

#include "sqlite3x.hpp"  
using namespace sqlite3x;

int main(void) {  
   try {  
      sqlite3_connection con("test.db");

      int count = con.executeint(  
        "select count(*) "  
        "from sqlite_master "  
        "where name='t_test';");

      if(count == 0) {  
         con.executenonquery(  
            "create table t_test(number,string);");  
      }

      sqlite3_transaction trans(con);  
      {  
         sqlite3_command cmd(con,  
            "insert into t_test values(?,?);");  
         cmd.bind(2, "foobar", 6);

         for(int i = 0; i < 10000; ++i) {  
            cmd.bind(1, i);  
            cmd.executenonquery();  
         }  
      }

      // if trans goes out of scope (due to an exception or  
      // anything else) before calling commit(), it will  
      // automatically rollback()  
      trans.commit();  
   }  
   catch(exception &ex) {  
      cerr << "Exception Occured: " << ex.what() << endl;  
   }

   return 0;  
}

示例代码2:

#include <iostream>  
#include <stdexcept>  
using namespace std;

#include "sqlite3x.hpp"  
using namespace sqlite3x;

int main(void) {  
   try {  
      sqlite3_connection con("test.db");

       sqlite3_command cmd(con, "select * from t_test;");  
       sqlite3_reader reader = cmd.executereader();

       while(reader.read()) {  
          cout << reader.getcolname(0) << ": "  
               << reader.getint(0) << endl;  
       }  
   }  
   catch(exception &ex) {  
      cerr << "Exception Occured: " << ex.what() << endl;  
   }

   return 0;  
}