SqliteCommand в C#
Объект SqliteCommand связывает текст SQL с
открытым соединением.
ExecuteNonQuery подходит для
CREATE, INSERT,
UPDATE без набора строк в ответе.
Запрос одного значения SELECT 1 через
ExecuteScalar вернёт число 1.
Так проверяют, что команда доходит до SQLite:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Data.Sqlite" Version="10.0.14" />
</ItemGroup>
</Project>
using Microsoft.Data.Sqlite;
using SqliteConnection db = new("Data Source=:memory:");
db.Open();
using SqliteCommand cmd = db.CreateCommand();
cmd.CommandText = "SELECT 1";
Console.WriteLine(cmd.ExecuteScalar());
В этом примере ответ - одно число, его берёт
ExecuteScalar. Несколько строк читают
через ExecuteReader: он возвращает
SqliteDataReader. Одну команду не
следует переиспользовать параллельно из разных
потоков без синхронизации.
Создайте таблицу "ping" с целой колонкой
"v" и выведите, сколько строк затронуло
создание. В консоли ожидается 0.