SQLite — компактная встраиваемая база данных, идеально подходящая для простых задач, вроде хранения игровых уровней или настроек приложения. Подробнее узнать об этой базе данных можно, например, тут.
Сама библиотека написана на Си, поэтому для её использования неплохо иметь под рукой более-менее удобную объектно-ориентированную обёртку на C++.
Я привожу решение, которое использую для своих проектов. Оно охватывает только базовый спектр задач, но может быть легко расширено.
Исходный код на GitHub
Пример использования
1 2 3 4 5 6 7 8 9 10 11 12 |
SqliteConnection con("testdb.db"); SqliteDataReader::Ptr res = con.execSql("select * from test"); std::string firstStateName; if (res->next()) { firstStateName = res->getValueByName("test")->asString(); } else { throw std::runtime_error("can't read from table 'test' of database 'testdb'"); } |
Код считывает первую строку таблицы test из файла базы данных testdb.db. Благодаря умным указателям, после выхода из области видимости все данные связанные с БД будут удалены из памяти, а соединение будет закрыто.
Leave a Reply
You must be logged in to post a comment.