Выборка строк из SQLite
Запрос SELECT возвращает набор строк. Его
запускают методом executeQuery, который
выдаёт объект ResultSet.
Курсор двигается вызовом next: пока метод
возвращает true, текущая строка доступна
для чтения. Значения берут по имени столбца:
import java.sql.DriverManager
fun main() {
DriverManager.getConnection("jdbc:sqlite:archive.db")
.use { connection ->
connection.createStatement().use { statement ->
statement.execute(
"""
CREATE TABLE IF NOT EXISTS folders (
id INTEGER PRIMARY KEY,
title TEXT NOT NULL
)
"""
)
statement.executeUpdate(
"INSERT INTO folders (title) VALUES ('2024')"
)
statement.executeUpdate(
"INSERT INTO folders (title) VALUES ('2025')"
)
val result = statement.executeQuery(
"SELECT title FROM folders ORDER BY id"
)
while (result.next()) {
println(result.getString("title"))
}
}
}
}
Цикл while обходит все совпавшие записи.
Имена в getString должны совпадать с
алиасами или колонками в SELECT:
import java.sql.DriverManager
fun main() {
DriverManager.getConnection("jdbc:sqlite:archive.db")
.use { connection ->
connection.createStatement().use { statement ->
val result = statement.executeQuery(
"SELECT id, title FROM folders"
)
while (result.next()) {
println(result.getInt("id"))
println(result.getString("title"))
}
}
}
}
Создайте таблицу badges в crew.db,
вставьте два названия и выведите каждое через
выборку всех строк.
Выведите идентификатор и название для каждой
записи таблицы badges отдельными
строками в консоль.