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

Параметры SQL-запроса в Dart

Склеивать пользовательский текст в SQL небезопасно. В тексте запроса оставляют места ?, а значения передают вторым аргументом execute или select списком в том же порядке.

Шаблон с ? готовят один раз, затем вызывают его с разными списками параметров:

import 'package:sqlite3/sqlite3.dart'; var db = sqlite3.open('slots.db'); db.execute(''' CREATE TABLE IF NOT EXISTS slots ( id INTEGER PRIMARY KEY, code TEXT NOT NULL, capacity INTEGER NOT NULL ) '''); db.execute( 'INSERT INTO slots (code, capacity) VALUES (?, ?)', ['A1', 12], ); print(db.updatedRows); db.dispose();

Тот же текст SQL можно выполнить с другими аргументами: достаточно снова вызвать execute или select с новым списком:

import 'package:sqlite3/sqlite3.dart'; var db = sqlite3.open('slots.db'); db.execute( 'INSERT INTO slots (code, capacity) VALUES (?, ?)', ['B2', 8], ); db.execute( 'INSERT INTO slots (code, capacity) VALUES (?, ?)', ['C3', 20], ); db.dispose();

Создайте таблицу crates в dock.db и добавьте строку с меткой "K9" и весом 15 через шаблон с двумя ?.

Добавьте еще одну строку с меткой "L1" и весом 22 тем же шаблоном без пересборки SQL-текста.

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