Requête d'insertion SQL en C#

Muhammad Maisam Abbas 16 février 2024
  1. Insertion SQL avec la méthode de requête simple en C#
  2. Insertion SQL avec la méthode de requête paramétrée en C#
Requête d'insertion SQL en C#

Dans ce didacticiel, nous allons discuter des méthodes pour insérer des enregistrements dans une base de données en C#.

Insertion SQL avec la méthode de requête simple en C#

La méthode de requête simple peut insérer des données dans une table de base de données en utilisant la requête SQL insert en C#. Cette méthode est simple et facile à mettre en œuvre mais n’est pas sécurisée. Cette méthode ne peut pas empêcher notre code d’injections SQL. L’exemple de code suivant nous montre comment nous pouvons entrer des données dans une table de base de données avec la méthode de requête simple en C#.

using System;
using System.Data.SqlClient;

namespace sql_insert {
  class Program {
    static void Main(string[] args) {
      string connectionString =
          "Data Source=.\SQLEXPRESS;Initial Catalog=ComputerShop;Integrated Security=True";
      SqlConnection connection = new SqlConnection(@connectionString);
      string query = "INSERT INTO Person (Name,Salary) VALUES('Max','$1200')";
      SqlCommand command = new SqlCommand(query, connection);
      try {
        connection.Open();
        command.ExecuteNonQuery();
        Console.WriteLine("Records Inserted Successfully");
      } catch (SqlException e) {
        Console.WriteLine("Error Generated. Details: " + e.ToString());
      } finally {
        connection.Close();
      }
    }
  }
}

Production:

Records Inserted Successfully

Le code ci-dessus insère des données dans la table Person de la base de données avec la méthode de requête simple en C#.

La classe SqlConnection crée une connexion avec la base de données. Elle prend la chaîne de connexion comme paramètre.

La classe SqlCommand crée une commande SQL qui doit être exécutée sur la base de données SQL Server. Il prend l’objet SqlConnection et la requête SQL comme paramètres.

La fonction connection.open() est utilisée pour ouvrir la connexion avec la base de données pour exécuter une requête. Nous ne pouvons exécuter aucune requête sans ouvrir la connexion à la base de données.

Enfin, la fonction command.ExecuteNonQuery() est utilisée pour exécuter notre requête d’insertion. La fonction command.ExecuteNonQuery() renvoie le nombre de lignes affectées par la requête. En cas d’erreur, la fonction command.ExecuteNonQuery() renvoie -1.

Après avoir exécuté la requête, la connexion doit être fermée avec la fonction connection.Close().

Insertion SQL avec la méthode de requête paramétrée en C#

La méthode de requête paramétrée permet d’insérer des données dans une table de base de données à l’aide de la requête SQL insert avec des paramètres en C#. Nous spécifions des paramètres alternatifs pour nos champs dans la requête d’insertion, puis nous entrons des données dans ces paramètres alternatifs. Cette méthode est recommandée car elle sécurise notre code des injections SQL. L’exemple de code suivant nous montre comment nous pouvons entrer des données dans une table de base de données avec la méthode de requête paramétrée en C#.

using System;
using System.Data.SqlClient;

namespace sql_insert {
  class Program {
    static void Main(string[] args) {
      string connectionString =
          "Data Source=.\SQLEXPRESS;Initial Catalog=ComputerShop;Integrated Security=True";
      SqlConnection connection = new SqlConnection(@connectionString);
      string query = "INSERT INTO Products (Name, Salary) VALUES(@Name, @Salary)";
      SqlCommand command = new SqlCommand(query, connection);

      command.Parameters.AddWithValue("@Name", "Max");
      command.Parameters.AddWithValue("@Salary", "$1200");

      try {
        connection.Open();
        command.ExecuteNonQuery();
        Console.WriteLine("Records Inserted Successfully");
      } catch (SqlException e) {
        Console.WriteLine("Error Generated. Details: " + e.ToString());
      } finally {
        connection.Close();
      }
    }
  }
}

Production:

Records Inserted Successfully

Le code ci-dessus insère des données dans la table Person de la base de données avec la méthode de requête paramétrée en C#. Le reste du code est assez similaire à l’exemple précédent. La seule différence est que cette fois nous n’écrivons pas les valeurs à l’intérieur de la requête insert; nous saisissons les valeurs séparément avec la fonction command.Parameters.AddWithValue() en C#.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Article connexe - Csharp Database