FMPDatabase

Описание

Класс FMPDatabase предназначен для описания локальной базы данных.

class FMPDatabase

Свойства

Свойство Описание

path

Полный путь к базе данных в директории приложения.
var path: String { get }

Методы

Метод Описание
close() Закрытие соединения с базой данных.
func close()
copy() Получение экземпляра класса-строителя для копирования FMPDatabase. Возвращает экземпляр класса-строителя FMPDatabase.Builder.
func copy() -> FMPDatabase.Builder
drop() Удаление файла базы данных из директории приложения.
func drop() throws

open()

Открытие соединения с базой данных. В случае успешного открытия соединения с базой данных возвращает true.
func open() throws -> Bool

Если файла базы данных нет по указанному пути, то создается новая база данных. Соединение открыто до тех пор, пока его не закроют с помощью метода close(), либо пока существует экземпляр класса FMPDatabase, которому оно принадлежит.

База данных шифруется с тем же ключом, что указан при построении экземпляра класса FMP.

query(_:) Отправляет SQL-запрос к локальной базе данных.
func query(_ query: String) throws -> FMPQuery.QueryResult?

Параметры:

  • query. SQL-запрос.

Примеры

Открытие соединения с базой данных:

// Построим экземпляр класса FMPDatabase
let database: FMPDatabase = fmp.database
    .path("path")
    .build()
  
// Откроем соединение с базой данных
do {
    try database.open()
} catch let error {
    // Выведем описание ошибки
    print((error as? FMPError).description)
}

Закрытие соединения с базой данных:

// Построим экземпляр класса FMPDatabase
let database: FMPDatabase = fmp.database
    .path("path")
    .build()
  
// Закроем соединение с базой данных
database.close()

SQL-запрос к базе данных:

// Построим экземпляр класса FMPDatabase
let database: FMPDatabase = fmp.database.build()
  
// Получим результат SQL-запроса в базу данных
do {
    let queryResult = try database.query("SELECT * FROM table")
} catch let error {
    // Выведем описание ошибки
    print((error as? FMPError).description)
}

Удаление файла базы данных из директории приложения:

// Построим экземпляр класса FMPDatabase
let database: FMPDatabase = fmp.database.build()
  
// Удалим файл базы данных из директории приложения
do {
    try database.drop()
} catch let error {
    // Выведем описание ошибки
    print((error as? FMPError).description)
}

Копирование экземпляра класса FMPDatabase:

// Построим экземпляр класса FMPDatabase
let database: FMPDatabase = fmp.database.build()
  
// Скопируем экземпляр класса FMPDatabase
let databaseCopy: FMPDatabase = database.copy().build()

См. также:

Фреймворк FMPKit | Классы