FMPDatabase
Представляет собой локальную базу данных. Используется SQLite.
Since
21.04.01
See also
Samples
import ru.fsight.fmp.FMP
import ru.fsight.fmp.FMPDatabase
import ru.fsight.fmp.FMPResult
import ru.fsight.fmp.FMPUser
fun main() {
//sampleStart
/*
* Пример создания объекта БД в постоянном хранилище пользователя.
*/
val database: FMPDatabase = fmp.database // Создать Builder.
.path(user.storage + "/example.db") // Указать путь к БД.
.build() // Создать FMPDatabase.
//sampleEnd
}
import ru.fsight.fmp.FMP
import ru.fsight.fmp.FMPDatabase
import ru.fsight.fmp.FMPResult
import ru.fsight.fmp.FMPUser
fun main() {
//sampleStart
/*
* Создание или открытие базы данных.
* Если БД не существует по указанному пути, то она будет создана.
*/
val open_or_create: Boolean = database.open().result // True если БД была открыта или создана. False если нет прав на запись или иная ошибка.
val close: Boolean = database.close().result // True если база данных була успешно закрыта.
val delete: Boolean = database.drop().result // True если база данных была удалена с файловой системы.
//sampleEnd
}
import ru.fsight.fmp.FMP
import ru.fsight.fmp.FMPDatabase
import ru.fsight.fmp.FMPResult
import ru.fsight.fmp.FMPUser
fun main() {
//sampleStart
/*
* Пример выполнение прямого SQL запроса к БД.
*/
val query: String = "DROP TABLE my_table;"
val result1: Boolean = database.query(query).result // True если запрос выполнен успешно.
val select: String = "SELECT * FROM my_table;"
val result2: List<Map<String, String>> =
database.select(select).result // Элемент списка - строка БД, где мапа - связь колонка-значение для строки.
//sampleEnd
}
import ru.fsight.fmp.FMP
import ru.fsight.fmp.FMPDatabase
import ru.fsight.fmp.FMPResult
import ru.fsight.fmp.FMPUser
fun main() {
//sampleStart
/*
* Пример получения данных из БД.
*/
val query: String = "SELECT * FROM my_table;"
val result: List<Map<String, String>> = database.select(query).result
//sampleEnd
}
import ru.fsight.fmp.FMP
import ru.fsight.fmp.FMPDatabase
import ru.fsight.fmp.FMPResult
import ru.fsight.fmp.FMPUser
fun main() {
//sampleStart
/*
* Пример объединения нескольких БД для общего запроса.
* В данном случае db1 будет главной БД, к которой будем отправлять запросы.
*/
val query: String =
"SELECT $db1.table1.id, $db2.table2.data FROM $db1.table1 JOIN ON $db1.table1.id = $db3.table3.id;"
val attach: FMPResult<Boolean> = db1.attach(db2, db3)
val result: List<Map<String, String>> = db1.select(query).result
//sampleEnd
}
Types
Link copied to clipboard
Смотри FMPObject.Builder. Обязательные параметры: path.