Aller au contenu principal

C# vers PostgreSQL

Introduction

Ce support d'apprentissage vous guidera dans le processus de connexion d'une application C# à une base de données PostgreSQL.

attention

Dans ce cours, nous partons du principe que vous avez déjà installé PostgreSQL sur votre machine. Si ce n'est pas le cas, consultez plutôt le matériel d'apprentissage PostgreSQL.

Prérequis

  • Un éditeur de code (Visual Studio Code, NeoVim, etc.)
  • .NET 6.0 ou version ultérieure

Étape 1 : Configurer le projet

Nous allons commencer par créer une nouvelle application console C# de base.

dotnet new console -n MyPostgresApp
cd MyPostgresApp

Étape 2 : Ajouter le package Npgsql

Nous allons utiliser le package Npgsql pour nous connecter à la base de données PostgreSQL.

dotnet add package Npgsql

Étape 3 : Créer le contenu de la base de données

(Ignorez cette étape si vous possédez déjà une base de données créée, par exemple avec un fichier d'initialisation.)

Nous commençons par entrer dans la base de données PostgreSQL via le terminal. Remplacez postgres par le nom d'utilisateur que vous avez utilisé pour créer la base de données.

psql -h localhost -U postgres

Ensuite, créez une nouvelle base de données et une table.

CREATE DATABASE mydatabase;

Accédez à la nouvelle base de données.

\c mydatabase

Créez une nouvelle table.

CREATE TABLE customer (id SERIAL PRIMARY KEY, name VARCHAR(50));

Étape 4 : Se connecter à la base de données

Ouvrez le fichier nommé Program.cs et ajoutez le code suivant.

using System;
using Npgsql;

class Program
{
static void Main()
{
var cs = "Host=localhost;Username=postgres;Password=your_password;Database=mydatabase";
using var con = new NpgsqlConnection(cs);
con.Open();

using var cmd = new NpgsqlCommand("SELECT version()", con);
var version = cmd.ExecuteScalar().ToString();
Console.WriteLine($"Version de PostgreSQL : {version}");
}
}
attention

Remplacez your_password par le mot de passe que vous avez utilisé pour créer la base de données.

Étape 5 : Exécuter l'application

Exécutez l'application.

dotnet run

Vous devriez voir la version de PostgreSQL s'afficher dans la console.

Étape 8 : Ajouter un client

Ajoutez le code suivant dans la méthode Main.

using var cmd = new NpgsqlCommand("INSERT INTO customer (name) VALUES ('John Doe')", con);
cmd.ExecuteNonQuery();

Exécutez à nouveau l'application.

dotnet run

Étape 7 : Voir le contenu de la table

Ajoutez le code suivant dans la méthode Main.

using var cmd = new NpgsqlCommand("SELECT * FROM customer", con);
using var reader = cmd.ExecuteReader();
while (reader.Read())
{
Console.WriteLine($"{reader.GetInt32(0)} {reader.GetString(1)}");
}

Exécutez à nouveau l'application.

dotnet run

Vous devriez voir « 1 John Doe » s'afficher dans la console.

Pour aller plus loin


Auteur : Yann M. Vidamment