WHERE в C#
Условие WHERE оставляет строки, где оно
истинно. Параметр "$n" подставляет
значение без склеивания строк SQL.
Из "a" и "b" фильтр "b"
вернёт одну строку "b":
using Microsoft.Data.Sqlite;
using SqliteConnection db = new("Data Source=:memory:");
db.Open();
using (SqliteCommand c = db.CreateCommand())
{
c.CommandText = "CREATE TABLE items (name TEXT); INSERT INTO items VALUES ('a'),('b')";
c.ExecuteNonQuery();
}
using SqliteCommand q = db.CreateCommand();
q.CommandText = "SELECT name FROM items WHERE name = $n";
q.Parameters.AddWithValue("$n", "b");
using SqliteDataReader r = q.ExecuteReader();
r.Read();
Console.WriteLine(r.GetString(0));
Несовпадение условия - Read сразу
false, это не ошибка.
В таблице "orders" храните статус заказа.
Добавьте строки "active" и
"closed" и выведите, сколько заказов
со статусом "active".