< .Net Core

.Net Core - SQLite

Szerző: Sallai András

Copyright © 2024, Sallai András

Licenc: CC Attribution-Share Alike 4.0 International

Web: https://szit.hu

Névtér és osztályok

Névtér:

Sqlite

A következő osztályokat használjuk:

SqliteConnection - Kapcsolatobjektum létrehozása.

SqliteCommand - adatbázis műveletek

SqliteDataReader - adatok olvasása

SqliteException - hibakezelés

Projekt létrehozása

Hozzunk létre egy konzolos projektet:

mkdir app01
cd app01
dotnet new console

Függőség telepítése

Telepítsük a projektbe a MySqlConnector csomagot:

dotnet add package Microsoft.Data.Sqlite

Állomány létrehozása

using Microsoft.Data.Sqlite; var conn = new SqliteConnection ("Data Source=hello.db"); conn.Open();

Tábla létrehozása

using Microsoft.Data.Sqlite; var conn = new SqliteConnection ("Data Source=hello.db"); conn.Open(); SqliteCommand cmd = conn.CreateCommand(); string sql = @" create table sampletable( col1 varchar(20), col2 int ) "; cmd.CommandText = sql; cmd.ExecuteNonQuery();

Adat beszúrása

var conn = new SqliteConnection ("Data Source=hello.db"); conn.Open(); SqliteCommand cmd = conn.CreateCommand(); string sql = @" insert into sampletable values (@col1, @col2 ) "; cmd.CommandText = sql; cmd.Parameters.AddWithValue("@col1", "egy"); cmd.Parameters.AddWithValue("@col2", 33); cmd.Prepare(); cmd.ExecuteNonQuery();

Adatok olvasása

using Microsoft.Data.Sqlite; var conn = new SqliteConnection ("Data Source=hello.db"); conn.Open(); SqliteCommand cmd = conn.CreateCommand(); string sql = "select * from sampletable"; cmd.CommandText = sql; SqliteDataReader reader = cmd.ExecuteReader(); while(reader.Read()) { Console.WriteLine($"{reader.GetString(0)} {reader.GetInt32(1)}"); }

Olvasás másként

using Microsoft.Data.Sqlite; var conn = new SqliteConnection ("Data Source=hello.db"); conn.Open(); string sql = "select * from sampletable"; using var cmd = new SqliteCommand (sql, conn); SqliteDataReader reader = cmd.ExecuteReader(); while(reader.Read()) { Console.WriteLine($"{reader.GetString(0)} {reader.GetInt32(1)}"); }

Használhatunk több Write utasítást:

while(reader.Read()) { Console.Write(reader.GetString(0)); Console.Write(" "); Console.WriteLine(reader.GetInt32(1)); }

Hibakezelés

using Microsoft.Data.Sqlite; var conn = new SqliteConnection ("Data Source=database.db"); try { conn.Open(); Console.WriteLine("Ok"); } catch (SqliteException e) { Console.Error.WriteLine("Hiba! A megnyitás sikertelen!"); Console.Error.WriteLine(e.Message); }

Lásd még

Példa konzolos menüvel:

https://github.com/oktat/emp_sqlite_csharp.git

Linkek

https://learn.microsoft.com/en-us/dotnet/api/microsoft.data.sqlite?view=msdata-sqlite-7.0.0 (2024)

https://learn.microsoft.com/en-us/dotnet/standard/data/sqlite/?tabs=netcore-cli (2024)

https://zetcode.com/csharp/sqlite/ (2024)

https://www.codeguru.com/dotnet/using-sqlite-in-a-c-application/ (2024)

https://learn.microsoft.com/en-us/shows/on-net/how-do-i-use-csharp-and-dotnet-with-sqlite (2024)

https://www.c-sharpcorner.com/article/how-to-use-sqlite-with-c-sharp/ (2024)

https://marketsplash.com/tutorials/c-sharp/csharp-how-to-use-sqlite/ (2024)

https://jasonwatmore.com/post/2022/09/05/net-6-connect-to-sqlite-database-with-entity-framework-core (2024)