FMPQuery
Представляет собой логику для загрузки данных ресурсов и их чтения из локальной базы данных на основании скомпилированного query.
Since
21.04.01
Samples
import ru.fsight.fmp.FMP
import ru.fsight.fmp.FMPQuery
import ru.fsight.fmp.FMPTable
import ru.fsight.fmp.FMPResult
fun main() {
//sampleStart
/*
* Пример создания FMPQuery.
*/
val query: FMPQuery = fmp.query // Создать Builder.
.select("*") // Указать SELECT выражение.
.from(table) // Указать таблицу.
.build() // Создать FMPQuery.
//sampleEnd
}
import ru.fsight.fmp.FMP
import ru.fsight.fmp.FMPQuery
import ru.fsight.fmp.FMPTable
import ru.fsight.fmp.FMPResult
fun main() {
//sampleStart
/*
* Пример создания более сложного FMPQuery.
*/
val query: FMPQuery = fmp.query // Создать Builder.
.select("$table1.name, $table2.value") // Указать SELECT выражение.
.from(table1) // Указать первую таблицу.
.join(table2, FMPQuery.Join.INNER) // JOIN на первой таблице.
.on("$table1.id = $table2.user_id") // Указать ON выражение.
.where("$table2.value >= 1000 and $table2.something = 'abc'") // Указать WHERE выражение.
.build() // Создать FMPQuery.
//sampleEnd
}
import ru.fsight.fmp.FMP
import ru.fsight.fmp.FMPQuery
import ru.fsight.fmp.FMPTable
import ru.fsight.fmp.FMPResult
fun main() {
//sampleStart
/*
* Пример загрузки данных и их чтения.
*/
if (isOnline) {
val download: FMPResult<Boolean> = query.download() // Если мы в онлайне, выполнить загрузку/обновление данных.
}
val data: FMPResult<List<Map<String, String>>> = query.read() // Прочесть данные запроса.
//sampleEnd
}