AIDE .NET

C# SQLite (Comment ça marche pour les développeurs)

Publié novembre 14, 2023
Partager:

Introduction à SQLite

SQLite est un moteur de base de données autonome, sans serveur et sans configuration, utilisé dans diverses applications, y compris les applications de bureau, web et mobiles. Dans ce tutoriel, nous allons nous plonger dans l'utilisation de SQLite avec C#. À l'aide d'exemples simples et facilement compréhensibles, vous apprendrez à créer, gérer et interagir avec une base de données SQLite.

Qu'est-ce que SQLite ?

SQLite est une base de données légère et efficace qui stocke les données dans un seul fichier. Contrairement aux bases de données traditionnelles, elle ne nécessite pas de serveur séparé. Il s'agit donc d'un excellent choix pour les applications qui nécessitent une base de données sans la complexité d'un système de base de données à part entière.

Configuration de SQLite dans C# ;

Utilisation du gestionnaire de paquets NuGet

Pour travailler avec SQLite dans un projet C#, vous devez installer la bibliothèque SQLite nécessaire. Cela peut se faire par l'intermédiaire du gestionnaire de paquets NuGet.

  1. Ouvrez Visual Studio et créez une nouvelle application console.

  2. Faites un clic droit sur le projet et sélectionnez "Manage NuGet Packages"

  3. Recherchez "SQLite" et installez le paquet.

Établir une connexion

Chaîne de connexion

Une chaîne de connexion est une chaîne qui spécifie des informations sur une source de données et les moyens de s'y connecter. Dans SQLite, la chaîne de connexion ressemble souvent à ceci :

string connectionString = "Data Source=mydatabase.db;";
string connectionString = "Data Source=mydatabase.db;";
Dim connectionString As String = "Data Source=mydatabase.db;"
VB   C#

Objet de connexion

Vous pouvez créer un objet de connexion en utilisant la source de données new SQLiteConnection.

using SQLite;
var connection = new SQLiteConnection(connectionString);
using SQLite;
var connection = new SQLiteConnection(connectionString);
Imports SQLite
Private connection = New SQLiteConnection(connectionString)
VB   C#

Création d'un tableau

Créer un tableau

La création d'une table est fondamentale lorsque l'on travaille avec une base de données. Voici comment créer une table à l'aide du code SQLite.

string query = "CREATE TABLE person (id INTEGER PRIMARY KEY, name TEXT)";
var command = new SQLiteCommand(query, connection);
command.ExecuteNonQuery();
string query = "CREATE TABLE person (id INTEGER PRIMARY KEY, name TEXT)";
var command = new SQLiteCommand(query, connection);
command.ExecuteNonQuery();
Dim query As String = "CREATE TABLE person (id INTEGER PRIMARY KEY, name TEXT)"
Dim command = New SQLiteCommand(query, connection)
command.ExecuteNonQuery()
VB   C#
  • Id Integer Primary Key: Définit la colonne 'id' comme clé primaire.
  • Nom de la table: Nom que vous souhaitez donner à votre table de base de données.

Insérer des données

Insérer des lignes

Pour insérer des données dans une table, vous devez utiliser la commande INSERT.

string query = "INSERT INTO person (name) VALUES ('John')";
var command = new SQLiteCommand(query, connection);
command.ExecuteNonQuery();
string query = "INSERT INTO person (name) VALUES ('John')";
var command = new SQLiteCommand(query, connection);
command.ExecuteNonQuery();
Dim query As String = "INSERT INTO person (name) VALUES ('John')"
Dim command = New SQLiteCommand(query, connection)
command.ExecuteNonQuery()
VB   C#

Commande paramétrée

Les commandes paramétrées peuvent protéger votre application contre les attaques par injection SQL. Cette approche utilise des paramètres au lieu d'insérer des valeurs directement dans la requête.

string query = "INSERT INTO person (name) VALUES (@name)";
var command = new SQLiteCommand(query, connection);
command.Parameters.AddWithValue("@name", "Iron Developer");
command.ExecuteNonQuery();
string query = "INSERT INTO person (name) VALUES (@name)";
var command = new SQLiteCommand(query, connection);
command.Parameters.AddWithValue("@name", "Iron Developer");
command.ExecuteNonQuery();
Dim query As String = "INSERT INTO person (name) VALUES (@name)"
Dim command = New SQLiteCommand(query, connection)
command.Parameters.AddWithValue("@name", "Iron Developer")
command.ExecuteNonQuery()
VB   C#

Récupération des données

Sélectionner la déclaration

Pour extraire des données de la table de la base de données, utilisez une instruction SELECT.

string query = "SELECT * FROM person";
var command = new SQLiteCommand(query, connection);
var reader = command.ExecuteReader();
while (reader.Read())
{
    Console.WriteLine(reader ["name"]);
}
string query = "SELECT * FROM person";
var command = new SQLiteCommand(query, connection);
var reader = command.ExecuteReader();
while (reader.Read())
{
    Console.WriteLine(reader ["name"]);
}
Dim query As String = "SELECT * FROM person"
Dim command = New SQLiteCommand(query, connection)
Dim reader = command.ExecuteReader()
Do While reader.Read()
	Console.WriteLine(reader ("name"))
Loop
VB   C#

Fonctionnalités avancées

Transactions SQLite

Les transactions permettent d'exécuter plusieurs opérations en une seule action atomique. Voici comment utiliser les transactions :

var transaction = connection.BeginTransaction();
try
{
    // Multiple insert, update, or delete operations
    transaction.Commit();
}
catch
{
    transaction.Rollback();
}
var transaction = connection.BeginTransaction();
try
{
    // Multiple insert, update, or delete operations
    transaction.Commit();
}
catch
{
    transaction.Rollback();
}
Dim transaction = connection.BeginTransaction()
Try
	' Multiple insert, update, or delete operations
	transaction.Commit()
Catch
	transaction.Rollback()
End Try
VB   C#

Mappage objet-relationnel (ORM) avec Entity Framework

Entity Framework(EF) est un outil ORM largement utilisé dans l'écosystème .NET. Il simplifie la programmation des bases de données en permettant aux développeurs de travailler avec des données relationnelles à l'aide d'objets spécifiques à un domaine. Voici comment utiliser Entity Framework avec SQLite.

1. Installation d'Entity Framework

Tout d'abord, assurez-vous que vous avez installé le paquetage NuGet d'Entity Framework spécifique à SQLite :

  1. Ouvrez le gestionnaire de paquets NuGet dans Visual Studio.

  2. Recherchez "Entity Framework SQLite" et installez-le.

2. Création de classes d'entités

Les classes d'entités sont des représentations des tables de la base de données. Vous pouvez créer une classe pour chaque table avec laquelle vous souhaitez interagir.

public class Person
{
    public int Id { get; set; } // Primary Key
    public string Name { get; set; }
}
public class Person
{
    public int Id { get; set; } // Primary Key
    public string Name { get; set; }
}
Public Class Person
	Public Property Id() As Integer ' -  Primary Key
	Public Property Name() As String
End Class
VB   C#

3. DbContext

Vous devez créer une classe qui hérite de DbContext. Cette classe représente la session avec la base de données et permet d'interroger et de sauvegarder les instances des entités.

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

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlite("Data Source=mydatabase.db;");
    }
}
public class MyDbContext : DbContext
{
    public DbSet<Person> Persons { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlite("Data Source=mydatabase.db;");
    }
}
Public Class MyDbContext
	Inherits DbContext

	Public Property Persons() As DbSet(Of Person)

	Protected Overrides Sub OnConfiguring(ByVal optionsBuilder As DbContextOptionsBuilder)
		optionsBuilder.UseSqlite("Data Source=mydatabase.db;")
	End Sub
End Class
VB   C#

4. Opérations CRUD

Entity Framework simplifie la création, la lecture, la mise à jour et la suppression(CRUD) des opérations. Voici comment insérer un nouvel enregistrement :

using (var db = new MyDbContext())
{
    db.Persons.Add(new Person { Name = "John" });
    db.SaveChanges();
}
using (var db = new MyDbContext())
{
    db.Persons.Add(new Person { Name = "John" });
    db.SaveChanges();
}
Using db = New MyDbContext()
	db.Persons.Add(New Person With {.Name = "John"})
	db.SaveChanges()
End Using
VB   C#

La lecture, la mise à jour et la suppression des enregistrements sont également simplifiées et directes avec Entity Framework, ce qui permet d'obtenir un code concis et facile à maintenir.

Travailler avec des fichiers XML et d'autres fournisseurs de données

SQLite n'est pas limité aux données relationnelles ; il offre également une certaine souplesse dans le traitement d'autres types de données, y compris les fichiers XML.

1. Stockage des données XML

Vous pouvez stocker des données XML dans une base de données SQLite. Cela peut être utile si vous travaillez avec des données de configuration ou d'autres structures hiérarchiques.

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();
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();
Dim xmlData As String = "<person><name>John</name></person>"
Dim query As String = "INSERT INTO xmltable (data) VALUES (@data)"
Dim command = New SQLiteCommand(query, connection)
command.Parameters.AddWithValue("@data", xmlData)
command.ExecuteNonQuery()
VB   C#

Récupération de données XML

Vous pouvez récupérer et travailler avec des données XML en utilisant des techniques d'analyse XML standard en C#.

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

// Parse the XML data as needed
string query = "SELECT data FROM xmltable WHERE id = 1";
var command = new SQLiteCommand(query, connection);
var reader = command.ExecuteReader();
string xmlData = reader ["data"].ToString();

// Parse the XML data as needed
Dim query As String = "SELECT data FROM xmltable WHERE id = 1"
Dim command = New SQLiteCommand(query, connection)
Dim reader = command.ExecuteReader()
Dim xmlData As String = reader ("data").ToString()

' Parse the XML data as needed
VB   C#

Travailler avec d'autres fournisseurs de données

SQLite s'intègre également bien avec divers fournisseurs de données, ce qui permet l'interopérabilité et la flexibilité. Cela signifie que vous pouvez passer en toute transparence d'une base de données à l'autre ou même combiner différentes sources de données au sein d'une même application.

Présentation de l'Iron Suite : Un puissant ensemble de bibliothèques

Après avoir exploré les domaines de SQLite et des opérateurs logiques en C#, il est temps de présenter une remarquable collection d'outils qui complètent et améliorent l'expérience de développement dans l'environnement .NET. La Suite Iron est une collection de bibliothèques puissantes comprenant IronPDF, IronXL, IronOCR et IronBarcode, chacune servant des objectifs distincts.

IronPDF : C&num ; Bibliothèque PDF

Guide complet d'IronPDF est une bibliothèque complète conçue pour créer, lire et manipuler des fichiers PDF en C#. Que vous ayez besoin de générer des rapports, des factures ou tout autre document au format PDF, IronPDF est là pour vous aider. Une caractéristique unique d'IronPDF est la possibilité de convertir HTML en PDF. Vous pouvez rendre HTML comme un document PDF, y compris CSS, JavaScript et des images, ce qui en fait un outil puissant. Consultez ce tutoriel surConversion de HTML en PDF avec IronPDF pour obtenir un guide étape par étape.

IronPDF'sFonctionnalité HTML vers PDF la mise en page est le point fort de la traduction, qui préserve toutes les mises en page et tous les styles. Il génère des PDF à partir de contenus web, ce qui est idéal pour les rapports, les factures et la documentation. Vous pouvez convertir des fichiers HTML, des URL et des chaînes HTML en PDF de manière transparente.

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");
    }
}
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");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim renderer = New ChromePdfRenderer()

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

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

		' 3. Convert URL to PDF
		Dim url = "http://ironpdf.com" ' Specify the URL
		Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
		pdfFromUrl.SaveAs("URLToPDF.pdf")
	End Sub
End Class
VB   C#

IronPDF peut être un outil essentiel lorsqu'on travaille avec des bases de données SQLite. Vous pouvez générer des rapports PDF à partir des données de votre base de données SQLite, ce qui permet une présentation et un partage transparents des données.

IronXL : La gestion des fichiers Excel en toute simplicité

ExplorerIronXL.Excel pour l'intégration dans Excel la traduction doit rester professionnelle, en préservant la précision technique tout en expliquant les caractéristiques et les avantages de ces outils de développement. Il est compatible avec les formats XLS, XLSX et autres, ce qui en fait un outil idéal pour traiter les données des feuilles de calcul. Vous pouvez lire des fichiers Excel, les manipuler et même créer de nouveaux fichiers à partir de zéro. Les fonctionnalités d'IronXL s'intègrent bien à la gestion de bases de données, notamment SQLite, pour l'exportation et l'importation de données.

IronOCR : Reconnaissance Optique de Caractères en C# ;

AvecIronOCR pour la reconnaissance de textela numérisation de texte à partir d'images et de fichiers PDF est un jeu d'enfant. Il s'agit d'un OCR polyvalent(Reconnaissance optique de caractères) qui reconnaît des textes provenant de diverses sources.

Imaginez que vous stockiez des documents numérisés dans une base de données SQLite et que vous utilisiez IronOCR pour récupérer et reconnaître le texte contenu dans ces documents. Les possibilités sont infinies et offrent de puissantes fonctionnalités de recherche et d'extraction de texte.

IronBarcode : La bibliothèque ultime de génération et de lecture de codes-barres

La génération et la lecture de codes-barres sont simplifiées grâce àIntégration puissante des codes-barres via IronBarcode. Il prend en charge de nombreux formats de codes-barres et fournit une API robuste pour tous les besoins liés aux codes-barres. IronBarcode peut jouer un rôle essentiel dans les applications utilisant SQLite, où les codes-barres peuvent représenter des produits ou d'autres entités de données. Le stockage et la récupération des codes-barres dans la base de données SQLite améliorent l'intégrité des données et facilitent l'accès rapide.

Conclusion

SQLite est un moteur de base de données puissant et léger qui convient aussi bien aux débutants qu'aux professionnels. De la création de tables et de l'insertion de lignes à la gestion des transactions et à la prévention des attaques par injection SQL, SQLite offre de nombreuses fonctionnalités. Que vous construisiez une console ou une application mobile ou que vous ayez besoin de travailler avec des clés étrangères et des ensembles de données, SQLite est un excellent choix.

La Suite Iron, qui comprend IronPDF, IronXL, IronOCR et IronBarcode, est un trésor d'outils qui étendent les capacités de vos projets de développement C#, que vous travailliez avec des bases de données SQLite ou d'autres domaines.

Ce qui est encore plus intéressant, c'est que chacun de ces produits offreun essai gratuit des produits Iron Softwarevous avez donc tout le temps d'explorer et de comprendre la vaste gamme de fonctionnalités qu'ils offrent. Si vous décidez de continuer à utiliser ces outils, la licence commence à partir de $749 par produit. Vous pouvez également acheter l'ensemble complet Iron Suite au prix de seulement deux produits individuels.

< PRÉCÉDENT
Signalr C# (Comment ça marche pour les développeurs)
SUIVANT >
C# Web App (Comment ça marche pour les développeurs)