Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ktSpDbUpd 210 of 299 menu
◀ ▶

Обновление строк в SQLite

Запрос UPDATE задаёт новые значения столбцов и обычно ограничивает строки через WHERE. Без условия изменится вся таблица.

Подготовленный шаблон связывает новое значение и ключ строки:

import java.sql.DriverManager fun main() { DriverManager.getConnection("jdbc:sqlite:revise.db") .use { connection -> connection.createStatement().use { statement -> statement.execute( """ CREATE TABLE IF NOT EXISTS notes ( id INTEGER PRIMARY KEY, title TEXT NOT NULL, done INTEGER NOT NULL ) """ ) statement.executeUpdate( "INSERT INTO notes (title, done) VALUES ('draft', 0)" ) } val update = connection.prepareStatement( "UPDATE notes SET done = ? WHERE id = ?" ) update.setInt(1, 1) update.setInt(2, 1) println(update.executeUpdate()) } }

Счётчик от executeUpdate показывает, сколько строк реально изменилось. Текстовые поля обновляют тем же способом:

import java.sql.DriverManager fun main() { DriverManager.getConnection("jdbc:sqlite:revise.db") .use { connection -> val update = connection.prepareStatement( "UPDATE notes SET title = ? WHERE id = ?" ) update.setString(1, "final") update.setInt(2, 1) update.executeUpdate() val check = connection.prepareStatement( "SELECT title FROM notes WHERE id = ?" ) check.setInt(1, 1) val result = check.executeQuery() if (result.next()) { println(result.getString("title")) } } }

Создайте таблицу meters в utility.db с полями label и reading, добавьте строку и измените показание на 105 по id 1.

Переименуйте метку с "kitchen" на "hall" для той же записи и выведите новую метку.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить