Requête d'insertion SQL en C#
-
Insertion SQL avec la méthode de requête simple en
C#
-
Insertion SQL avec la méthode de requête paramétrée 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#.
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