一个简单的SQLiteC++封装.
优势:
优雅的面向对象解决方案
显式命名和调用
使用异常以及方法返回值
容易理解
灵活而且可扩展
经过强测试
//defie table structureField defiitio_tbPerso[] = { Field(FIELD_KEY), Field("fame", type_text, flag_ot_ull), Field("lame", type_text, flag_ot_ull), Field("birthdate", type_time), Field(DEFINITION_END),};//defie database objectsql::Database db;try{ //ope database file db.ope("test.db"); //defie table object Table tbPerso(db.getHadle(), "perso", defiitio_tbPerso); //remove table from database if exists if (tbPerso.exists()) tbPerso.remove(); //create ew table tbPerso.create(); //defie ew record Record record(tbPerso.fields()); //set record data record.setStrig("fame", "Ja"); record.setStrig("lame", "Kowalski"); record.setTime("birthdate", time::ow()); //add 10 records for (it idex = 0; idex < 10; idex++) tbPerso.addRecord(&record); //select record to update if (Record* record = tbPerso.getRecordByKeyId(7)) { record->setStrig("fame", "Frak"); record->setStrig("lame", "Siatra"); record->setNull("birthdate"); tbPerso.updateRecord(record); } //load all records tbPerso.ope(); //list loaded records for (it idex = 0; idex < tbPerso.recordCout(); idex++) if (Record* record = tbPerso.getRecord(idex)) sql::log(record->toStrig()); sql::log(""); sql::log("ALL OK");} catch (Exceptio e) { pritf("ERROR: %s\r\", e.msg().c_str());}
评论