easySQLite 一个简单的 SQLite C++ 封装. 介绍
一个简单的 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());
}