Код IT
← Каталог

SQLite — практическая работа и API — C# — Microsoft.Data.Sqlite

Фрагмент из «SQLite — практическая работа и API»: C# — Microsoft.Data.Sqlite.

C# main.cs
using Microsoft.Data.Sqlite;

var cs = new SqliteConnectionStringBuilder
{
    DataSource = "app.db",
    Mode = SqliteOpenMode.ReadWriteCreate
}.ToString();

using var conn = new SqliteConnection(cs);
conn.Open();

using (var cmd = conn.CreateCommand())
{
    cmd.CommandText = """
        CREATE TABLE IF NOT EXISTS users(
            id INTEGER PRIMARY KEY,
            name TEXT NOT NULL
        );
    """;
    cmd.ExecuteNonQuery();
}

using (var tx = conn.BeginTransaction())
{
    var insert = conn.CreateCommand();
    insert.Transaction = tx;
    insert.CommandText = "INSERT INTO users(name) VALUES ($name)";
    insert.Parameters.AddWithValue("$name", "Anna");
    insert.ExecuteNonQuery();
    tx.Commit();
}

var select = conn.CreateCommand();
select.CommandText = "SELECT id, name FROM users";
using var reader = select.ExecuteReader();
while (reader.Read())
{
    Console.WriteLine($"{reader["id"]}: {reader["name"]}");
}
using Microsoft.Data.Sqlite;

var cs = new SqliteConnectionStringBuilder
{
    DataSource = "app.db",
    Mode = SqliteOpenMode.ReadWriteCreate
}.ToString();

using var conn = new SqliteConnection(cs);
conn.Open();

using (var cmd = conn.CreateCommand())
{
    cmd.CommandText = """
        CREATE TABLE IF NOT EXISTS users(
            id INTEGER PRIMARY KEY,
            name TEXT NOT NULL
        );
    """;
    cmd.ExecuteNonQuery();
}

using (var tx = conn.BeginTransaction())
{
    var insert = conn.CreateCommand();
    insert.Transaction = tx;
    insert.CommandText = "INSERT INTO users(name) VALUES ($name)";
    insert.Parameters.AddWithValue("$name", "Anna");
    insert.ExecuteNonQuery();
    tx.Commit();
}

var select = conn.CreateCommand();
select.CommandText = "SELECT id, name FROM users";
using var reader = select.ExecuteReader();
while (reader.Read())
{
    Console.WriteLine($"{reader["id"]}: {reader["name"]}");
}