SQLite C++ 封裝:easySQLite
一個簡單的 SQLite C++ 封裝.
優勢:
-
優雅的面向對象解決方案
-
顯式命名和調用
-
使用異常以及方法返回值
-
容易理解
-
靈活而且可擴展
-
經過強測試
//define table structure Field definition_tbPerson[] = { Field(FIELD_KEY), Field("fname", type_text, flag_not_null), Field("lname", type_text, flag_not_null), Field("birthdate", type_time), Field(DEFINITION_END), }; //define database object sql::Database db; try { //open database file db.open("test.db"); //define table object Table tbPerson(db.getHandle(), "person", definition_tbPerson); //remove table from database if exists if (tbPerson.exists()) tbPerson.remove(); //create new table tbPerson.create(); //define new record Record record(tbPerson.fields()); //set record data record.setString("fname", "Jan"); record.setString("lname", "Kowalski"); record.setTime("birthdate", time::now()); //add 10 records for (int index = 0; index < 10; index++) tbPerson.addRecord(&record); //select record to update if (Record* record = tbPerson.getRecordByKeyId(7)) { record->setString("fname", "Frank"); record->setString("lname", "Sinatra"); record->setNull("birthdate"); tbPerson.updateRecord(record); } //load all records tbPerson.open(); //list loaded records for (int index = 0; index < tbPerson.recordCount(); index++) if (Record* record = tbPerson.getRecord(index)) sql::log(record->toString()); sql::log(""); sql::log("ALL OK"); } catch (Exception e) { printf("ERROR: %s\r\n", e.msg().c_str()); }
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!