Соединение с SQLite в C++
Точка входа в API SQLite - функция sqlite3_open.
Относительное имя вроде session.db задает файл
в рабочей директории процесса. Если файла еще нет,
SQLite создает его при первом успешном открытии.
Пустая база готова к запросам сразу после открытия:
#include <filesystem>
#include <iostream>
#include <sqlite3.h>
int main() {
const char* path = "open_link.db";
sqlite3* db = nullptr;
if (sqlite3_open(path, &db) != SQLITE_OK) {
std::cerr << sqlite3_errmsg(db) << "\n";
sqlite3_close(db);
return 1;
}
std::cout << sqlite3_libversion() << "\n";
sqlite3_close(db);
std::cout << std::filesystem::exists(path) << "\n";
return 0;
}
Указатель sqlite3* держит дескриптор файла.
Функция sqlite3_close освобождает ресурс;
вызывают ее в конце работы, даже если запросы
завершились с ошибкой:
#include <iostream>
#include <sqlite3.h>
int main() {
sqlite3* db = nullptr;
if (sqlite3_open("session.db", &db) != SQLITE_OK) {
std::cerr << sqlite3_errmsg(db) << "\n";
sqlite3_close(db);
return 1;
}
std::cout << sqlite3_libversion() << "\n";
sqlite3_close(db);
return 0;
}
Откройте базу yard.db, выведите строку
версии SQLite и убедитесь, что файл появился
на диске.
Создайте соединение с probe.db и выведите
1, если открытие прошло без ошибки,
иначе 0.