IRONSOFTWAREHOME
AKTUALNOŚCI DLA PROGRAMISTÓW

C# SQLite (jak to działa dla programistów)

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Jacob Mellor
Updated: 23 kwietnia 2026

Wprowadzenie do SQLite

SQLite to samodzielny, bezserwerowy i niewymagający konfiguracji silnik bazy danych używany w różnych aplikacjach, w tym aplikacjach desktopowych, webowych oraz mobilnych. W tym samouczku zagłębimy się w używanie SQLite z C#. Przy użyciu prostych i łatwo zrozumiałych przykładów nauczysz się tworzyć, zarządzać i wchodzić w interakcję z bazą danych SQLite.

Czym jest SQLite?

SQLite to lekka i wydajna baza danych, która przechowuje dane w jednym pliku. W przeciwieństwie do tradycyjnych baz danych nie wymaga oddzielnego serwera. Czyni to SQLite świetnym wyborem dla aplikacji, które potrzebują bazy danych bez złożoności pełnego systemu bazodanowego.

Setting Up SQLite in C#

Użycie Menadżera Pakietów NuGet

Aby pracować z SQLite w projekcie C#, musisz zainstalować niezbędną bibliotekę SQLite. Można to zrobić za pomocą Menadżera Pakietów NuGet.

  1. Otwórz Visual Studio i utwórz nową aplikację konsolową.
  2. Kliknij prawym przyciskiem myszy na projekcie i wybierz 'Zarządzaj pakietami NuGet'.
  3. Wyszukaj 'SQLite' i zainstaluj pakiet.

Nawiązywanie połączenia

Ciąg połączenia

Ciąg połączenia to ciąg, który określa informacje o źródle danych i sposoby połączenia się z nim. W SQLite ciąg połączenia często wygląda w ten sposób:

string connectionString = "Data Source=mydatabase.db;";

Obiekt połączenia

Mozesz utworzyc obiekt polaczenia uzywajac klasy SQLiteConnection z przestrzeni nazw System.Data.SQLite.

using System.Data.SQLite;

// Initialize a connection to the SQLite database
var connection = new SQLiteConnection(connectionString);

// Open the connection
connection.Open();

Tworzenie tabeli

Utwórz tabelę

Tworzenie tabeli jest podstawą podczas pracy z jakąkolwiek bazą danych. Oto jak utworzyć tabelę używając kodu SQLite.

// SQL command to create a new table "person"
string query = "CREATE TABLE IF NOT EXISTS person (id INTEGER PRIMARY KEY, name TEXT)";

// Create a command object with the SQL query and connection
var command = new SQLiteCommand(query, connection);

// Execute the command to create the table
command.ExecuteNonQuery();
  • Id Integer Primary Key: Ustawia kolumnę 'id' jako klucz podstawowy.
  • Nazwa tabeli: Nazwa, którą chcesz nadać swojej tabeli bazy danych.

Wstawianie danych

Wstaw wiersze

Aby wstawić dane do tabeli, musisz użyć polecenia INSERT.

// SQL command to insert a new row into the "person" table
string query = "INSERT INTO person (name) VALUES ('John')";
var command = new SQLiteCommand(query, connection);
command.ExecuteNonQuery();

Sparametryzowane polecenie

Sparametryzowane polecenia mogą chronić twoją aplikację przed atakami SQL Injection. To podejście używa parametrów zamiast bezpośredniego wstawiania wartości do zapytania.

// SQL command with a parameter to insert data safely
string query = "INSERT INTO person (name) VALUES (@name)";
var command = new SQLiteCommand(query, connection);
command.Parameters.AddWithValue("@name", "Iron Developer");
command.ExecuteNonQuery();

Pobieranie danych

Instrukcja SELECT

Aby pobrać dane z tabeli bazy danych, użyj instrukcji SELECT.

// SQL command to select all rows from the "person" table
string query = "SELECT * FROM person";

var command = new SQLiteCommand(query, connection);
var reader = command.ExecuteReader();

// Loop through the result set and read data
while (reader.Read())
{
    Console.WriteLine(reader["name"]);
}

Zaawansowane funkcje

Transakcje SQLite

Transakcje pozwalają na wykonanie wielu operacji w jednym atomowym działaniu. Oto jak używać transakcji:

var transaction = connection.BeginTransaction();
try
{
    // Example of multiple operations in a transaction
    var insertCommand = new SQLiteCommand("INSERT INTO person (name) VALUES ('Alice')", connection, transaction);
    insertCommand.ExecuteNonQuery();

    var updateCommand = new SQLiteCommand("UPDATE person SET name = 'Bob' WHERE name = 'Alice'", connection, transaction);
    updateCommand.ExecuteNonQuery();

    transaction.Commit(); // Commit the transaction if all operations succeed
}
catch
{
    transaction.Rollback(); // Rollback the transaction if any operation fails
}

Mapowanie obiektowo-relacyjne (ORM) z Entity Framework

Entity Framework (EF) to szeroko stosowane narzędzie ORM w ekosystemie .NET. Ułatwia programowanie bazodanowe, pozwalając deweloperom pracować z danymi relacyjnymi przy użyciu obiektów specyficznych dla domeny. Oto jak możesz używać Entity Framework z SQLite.

1. Instalowanie Entity Framework

Najpierw upewnij się, że masz zainstalowany pakiet NuGet Entity Framework specyficzny dla SQLite:

  1. Otwórz Menadżera Pakietów NuGet w Visual Studio.
  2. Wyszukaj 'Entity Framework SQLite' i zainstaluj go.

2. Tworzenie klas encji

Klasy encji są reprezentacjami tabel bazy danych. Możesz utworzyć klasę dla każdej tabeli, z którą zamierzasz współpracować.

public class Person
{
    public int Id { get; set; } // Primary Key
    public string Name { get; set; }
}

3. DbContext

Musisz utworzyc klase dziedziczaca po DbContext. Klasa ta reprezentuje sesję z bazą danych i pozwala na zapytania i zapisywanie instancji encji.

using Microsoft.EntityFrameworkCore;

public class MyDbContext : DbContext
{
    public DbSet<Person> Persons { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlite("Data Source=mydatabase.db;");
    }
}

4. Operacje CRUD

Entity Framework upraszcza operacje Create, Read, Update i Delete (CRUD). Oto jak możesz wstawić nowy rekord:

using (var db = new MyDbContext())
{
    db.Persons.Add(new Person { Name = "John" });
    db.SaveChanges();
}

Odczyt, aktualizacja i usuwanie rekordów są równie uproszczone i przystępne z Entity Framework, co pozwala na zwięzły i łagodny w utrzymaniu kod.

Praca z plikami XML i innymi dostawcami danych

SQLite nie jest ograniczone do danych relacyjnych; zapewnia także elastyczność w obsłudze innych typów danych, w tym plików XML.

1. Przechowywanie danych XML

Możesz przechowywać dane XML w bazie danych SQLite. Może to być przydatne, jeśli pracujesz z danymi konfiguracyjnymi lub innymi strukturami hierarchicznymi.

string xmlData = "<person><name>John</name></person>";
string query = "INSERT INTO xmltable (data) VALUES (@data)";
var command = new SQLiteCommand(query, connection);
command.Parameters.AddWithValue("@data", xmlData);
command.ExecuteNonQuery();

Pobieranie danych XML

Możesz pobierać i pracować z danymi XML, używając standardowych technik analizy XML w C#.

string query = "SELECT data FROM xmltable WHERE id = 1";
var command = new SQLiteCommand(query, connection);
var reader = command.ExecuteReader();

string xmlData;

// Read the XML data from the query result
if (reader.Read())
{
    xmlData = reader["data"].ToString();
}

// Parse the XML data as needed using an XML parser

Praca z innymi dostawcami danych

SQLite dobrze integruje się z różnymi dostawcami danych, co pozwala na interoperacyjność i elastyczność. Oznacza to, że możesz płynnie przełączać się między różnymi bazami danych lub nawet łączyć różne źródła danych w jednej aplikacji.

Przedstawiamy Iron Suit: Potężny zestaw bibliotek

Po eksploracji światów SQLite i operatorów logicznych w C#, czas przedstawić niezwykły zbiór narzędzi, które uzupełniają i wzbogacają doświadczenie programistyczne w środowisku .NET. Iron Suit to kolekcja potężnych bibliotek składających się z IronPDF, IronXL, IronOCR i IronBarcode, z których każda pełni odrębne funkcje.

IronPDF: biblioteka C# PDF

Przewodnik po IronPDF to kompleksowa biblioteka zaprojektowana do tworzenia, odczytywania i manipulowania plikami PDF w C#. Niezależnie od tego, czy potrzebujesz generować raporty, faktury, czy dokumenty w formacie PDF, IronPDF jest dla Ciebie. Unikalną cechą IronPDF jest możliwość konwersji HTML na PDF. Możesz renderować HTML jako dokument PDF, w tym CSS, JavaScript i obrazy, co czyni go potężnym narzędziem. Sprawdź ten samouczek na temat Konwersji HTML na PDF z IronPDF dla przewodnika krok po kroku.

Funkcja HTML na PDF w IronPDF to jego główna atrakcja, zachowując wszystkie układy i style. Generuje pliki PDF na podstawie treści internetowych, co idealnie nadaje się do raportów, faktur i dokumentacji. Możesz płynnie konwertować pliki HTML, adresy URL i ciągi znaków HTML do formatu PDF.

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}

IronPDF może być istotnym narzędziem podczas pracy z bazami danych SQLite. Możesz generować raporty PDF z danych bazy danych SQLite, co umożliwia płynne prezentowanie i udostępnianie danych.

IronXL: Łatwe zarządzanie plikami Excel

Odkryj IronXL do integracji z Excelem pozwalający deweloperom odczytywać, zapisywać i manipulować plikami Excel bez wysiłku. Jest kompatybilny z XLS, XLSX i innymi, co czyni go idealnym narzędziem do obsługi danych arkuszy kalkulacyjnych. Możesz odczytywać pliki Excel, manipulować nimi, a nawet tworzyć nowe pliki od podstaw. Funkcjonalność IronXL dobrze integruje się z zarządzaniem bazami danych, w tym SQLite, umożliwiając eksport i import danych.

IronOCR: Optical Character Recognition in C#

Z IronOCR do rozpoznawania tekstu, skanowanie tekstu z obrazów i plików PDF jest proste. To wszechstronna biblioteka OCR (Optical Character Recognition), która rozpoznaje tekst z różnych źródeł.

Wyobraź sobie przechowywanie zeskanowanych dokumentów w bazie danych SQLite i używanie IronOCR do wyodrębniania i rozpoznawania tekstu w tych dokumentach. Możliwości są nieskończone, zapewniając potężne funkcjonalności przeszukiwania i wyszukiwania tekstu.

IronBarcode: Ostateczna biblioteka generowania i odczytywania kodów kreskowych

Generowanie i odczytywanie kodów kreskowych staje się proste dzięki Potężnej integracji kodów kreskowych przez IronBarcode. Obsługuje wiele formatów kodów kreskowych i oferuje solidne API dla wszystkich potrzeb związanych z kodami kreskowymi. IronBarcode może odgrywać istotną rolę w aplikacjach korzystających z SQLite, gdzie kody kreskowe mogą reprezentować produkty lub inne jednostki danych. Przechowywanie i pobieranie kodów kreskowych z bazy danych SQLite zwiększa integralność danych i ułatwia szybki dostęp.

Wnioski

SQLite to potężny, a jednocześnie lekki silnik bazy danych, który jest doskonały zarówno dla początkujących, jak i profesjonalistów. Od tworzenia tabel i wstawiania wierszy po zarządzanie transakcjami i zapobieganie atakom SQL Injection, SQLite oferuje wiele funkcji. Niezależnie od tego, czy budujesz aplikację konsolową lub mobilną, czy musisz pracować z kluczami obcymi i zestawami danych, SQLite jest doskonałym wyborem.

Iron Suit, składający się z IronPDF, IronXL, IronOCR i IronBarcode, jest skarbcem narzędzi, które rozszerzają możliwości twoich projektów deweloperskich w C#, czy to przy pracy z bazami danych SQLite, czy innych domen.

Co jest jeszcze bardziej atrakcyjne, kazdy z tych produktow oferuje bezplatny okres probny dla produktow Iron Software, dajac ci wystarczajaco duzo czasu, aby poznac i zrozumiec ich szeroka game funkcjonalnosci. Kiedy zdecydujesz sie kontynuowac korzystanie z tych narzedzi, licencjonowanie zaczyna sie od $999 za produkt. Możesz również kupić cały pakiet Iron Suit w cenie raptem dwóch pojedynczych produktów.

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Dyrektor ds. technologii

Jacob Mellor jest Chief Technology Officer w Iron Software i wizjonerskim inżynierem, pionierem technologii C# PDF. Jako pierwotny deweloper głównej bazy kodowej Iron Software, kształtuje architekturę produktów firmy od jej początku, przekształcając ją wspólnie z CEO Cameron Rimington w firmę liczącą ponad 50 osób, obsługującą NASA, Teslę i światowe agencje rządowe.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta