优势:
优雅的面向对象解决方案
显式命名和调用
使用异常以及方法返回值
容易理解
灵活而且可扩展
经过强测试
//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()); }