FMPDatabase

Описание

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

class FMPDatabase

Свойства

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

path

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

Методы

Метод Описание

open()

Открытие соединения с базой данных. В случае успешного открытия соединения с базой данных возвращает true.
func open() -> Bool
close() Закрытие соединения с базой данных.
func close()
query(_:) Отправляет SQL-запрос к локальной базе данных.
func query(_ query: String) -> [NSDictionary]?

Параметры:

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

getTableName(for:) Получение реального имени таблицы в локальной базе данных. Возвращает название таблицы в локальной базе данных.
func getTableName(for table: FMPTable) -> String?

Параметры:

  • table. Таблица.

dropCache(for:) Удаление кэшированных таблиц из базы данных для указанного ресурса. В случае успешного удаления таблиц из базы данных возвращает true.
func dropCache(for resource: FMPResource) -> Bool

Параметры:

  • resource. Ресурс, кэшированные таблицы которого должны быть удалены.

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

Примеры

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

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

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

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

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

// Построим экземпляр класса FMPDatabase. Подробнее в примерах к FMPDatabase.Builder.
let database: FMPDatabase = fmp.database.build()
  
// Получим результат SQL-запроса в базу данных
let queryResult: [NSDictionary]? = database.performQuery("SELECT * FROM table")

Получение реального имени таблицы в локальной базе данных:

// Построим экземпляр класса FMPDatabase. Подробнее в примерах к FMPDatabase.Builder.
let database: FMPDatabase = fmp.database.build()
  
// Построим экземпляр класса FMPResource, описывающий интересующий нас ресурс мобильной платформы. Подробнее в примерах к FMPResource.Builder.
let resource: FMPResource = fmp.resource
    .name(resourceName)
    .params(inputParams)
    .build()
  
// Построим экземпляр класса FMPTable, описывающий интересующую нас таблицу ресурса мобильной платформы. Подробнее в примерах к FMPTable.Builder.
let table: FMPTable = fmp.table
    .name("tableName")
    .resource(resource)
    .build()
  
// Получим реальное имя таблицы в базе данных
let realTableName: String = database.getTableName(for: table)

Удаление кэшированных таблиц из базы данных для указанного ресурса:

// Построим экземпляр класса FMPDatabase. Подробнее в примерах к FMPDatabase.Builder.
let database: FMPDatabase = fmp.database.build()
  
// Построим экземпляр класса FMPResource, описывающий интересующий нас ресурс мобильной платформы. Подробнее в примерах к FMPResource.Builder.
let resource: FMPResource = fmp.resource
    .name(resourceName)
    .params(inputParams)
    .build()
  
// Удалим все кэшированные таблицы для указанного ресурса из базы данных
let dropSuccess: Bool = database.dropCache(for: resource)

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

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

Копирование FMPDatabase:

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

См. также:

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