用C++簡單封裝了一下SQLite
阿新 • • 發佈:2019-02-19
SQLite 強大,大家都知道,但是原生是C介面,用來其應用層稍微麻煩些。
今天做了個簡單的C++封裝,使用面向物件的方法來使用。
優點:面向物件的方式,減少應用層的複雜性;
缺點:暫對多執行緒環境支援不足。
使用樣例如下:
// a simple example to use SQLitePP void simple_example() { //define a connection SQLitePP::DBConnection conn; // connect to a database int rc = conn.connect("D:\\mytestdb.db"); if (rc != 0) { std::cout << conn.getErrorMessage() << std::endl; return; } // define a command and set a command text SQLitePP::DBCommand cmd(&conn); cmd.setCommandText("create table tbl_test(id integer not null, name text, contact text)"); rc = cmd.execute(); // execute if (rc != 0) { std::cout << conn.getErrorMessage() << std::endl; return; } // insert data cmd.setCommandText("insert into tbl_test(id, name, contact) values(0, 'gavin', '[email protected]')"); rc = cmd.execute(); // execute if (rc != 0) { std::cout << conn.getErrorMessage() << std::endl; return; } // execute a query cmd.setCommandText("select * from tbl_test"); rc = cmd.execute(); // execute if (rc != 0) { std::cout << conn.getErrorMessage() << std::endl; return; } // print all result while (cmd.fetchNext()) { std::cout << cmd.field(0).toInt() << ", " << cmd.field(1) << std::endl; } }
可以使用記憶體資料庫、檔案資料庫等多種方式,這裡的例子比較簡單。
SQLite地址:http://sqlite.org/