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

Условие в SQL-выборке в Dart

Ключевое слово WHERE оставляет только строки, где предикат истинен. Значение из Dart безопаснее передавать через ?, а не вшивать в текст.

Подготовленный SELECT с одним параметром ищет записи по совпадению поля:

import 'package:sqlite3/sqlite3.dart'; var db = sqlite3.open('filter_demo.db'); db.execute(''' CREATE TABLE IF NOT EXISTS tags ( id INTEGER PRIMARY KEY, name TEXT NOT NULL, group_code TEXT NOT NULL ) '''); db.execute( "INSERT INTO tags (name, group_code) VALUES ('alpha', 'g1')", ); db.execute( "INSERT INTO tags (name, group_code) VALUES ('beta', 'g2')", ); var rows = db.select( 'SELECT name FROM tags WHERE group_code = ?', ['g1'], ); for (var row in rows) { print(row['name']); } db.dispose();

Смена аргумента меняет набор строк без нового SQL. Числовые поля сравнивают через параметр и операторы вроде >=:

import 'package:sqlite3/sqlite3.dart'; var db = sqlite3.open('filter_demo.db'); var rows = db.select(''' SELECT name FROM tags WHERE group_code = ? AND id >= ? ''', ['g2', 1]); for (var row in rows) { print(row['name']); } db.dispose();

Создайте таблицу shifts в plant.db с полями worker, shift_code и hours, добавьте три строки и выведите имена, где hours не меньше 8.

Выведите имена смен с кодом смены "night", используя параметр в условии по полю shift_code.

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