Вставка строк в SQLite в Dart
Запрос INSERT INTO перечисляет столбцы и
значения для новой строки. Его выполняют через
execute с текстом SQL.
Свойство updatedRows после execute
показывает, сколько строк изменил запрос. Для одной
вставки это обычно 1:
import 'package:sqlite3/sqlite3.dart';
var db = sqlite3.open('ledger.db');
db.execute('''
CREATE TABLE IF NOT EXISTS entries (
id INTEGER PRIMARY KEY,
tag TEXT NOT NULL,
amount INTEGER NOT NULL
)
''');
db.execute('''
INSERT INTO entries (tag, amount)
VALUES ('fuel', 420)
''');
print(db.updatedRows);
db.dispose();
Несколько вставок подряд накапливают строки в одной
таблице. Каждый вызов execute сообщает
свой счетчик:
import 'package:sqlite3/sqlite3.dart';
var db = sqlite3.open('ledger.db');
db.execute('''
CREATE TABLE IF NOT EXISTS entries (
id INTEGER PRIMARY KEY,
tag TEXT NOT NULL,
amount INTEGER NOT NULL
)
''');
db.execute(
"INSERT INTO entries (tag, amount) VALUES ('rent', 900)",
);
var first = db.updatedRows;
db.execute(
"INSERT INTO entries (tag, amount) VALUES ('tax', 150)",
);
var second = db.updatedRows;
print(first + second);
db.dispose();
Создайте таблицу beacons в signal.db
и добавьте запись с кодом "north" и уровнем
7. Выведите число затронутых строк.
Добавьте вторую запись с кодом "south"
и уровнем 3. Выведите сумму счетчиков
обеих вставок.