Meilleur auteur de réponses
requête sql

Question
-
bonsoir,
je voudrais utiliser des requêtes sql en c# mais je ne sais pas comment les syntaxes se font exactement en c# .
car les syntaxes réel en sql subisse des modification lorqu'elles passent en c#.
je prend le cas de :
INSERT INTO table (nom_colonne_1, nom_colonne_2, ... VALUES ('valeur 1', 'valeur 2', ...)
qui devient en c#
Insert into Formulaire (Nom, Prenom, Age, [Lieu de naissance], Service) values ('" + textBox1.Text + "','" + textBox2.Text + "','");";
a partir de cela comment retranscrire les requetes sql du genre:
delete, update, select * from table where = condition
merci de votre aide
Cardinal dev
Réponses
-
Bonjour,
Les requêtes SQL en C# ne sont que des chaines de caractères, à vous donc de les réaliser correctement.
Ce qu'il vous manque peut être serait une manière de réaliser des requêtes mieux formatées.
Essayez par exemple d'utiliser String.Format.
Cette fonction permet de pré-formater une chaîne de caractères en lui passant des paramètre.
Ex:
Decimal pricePerOunce = 17.36m; String s = String.Format("The current price is {0} per ounce.", pricePerOunce); // Result: The current price is 17.36 per ounce.
Plus d'infos sur : https://msdn.microsoft.com/fr-fr/library/system.string.format(v=vs.110).aspx
Ensuite, je peux vous conseiller plutôt d'utiliser des paramètres SQL lors de vos requêtes. Cela vous évitera bien des soucis, dont les risques d'injection SQL.
Ex :
int result; using (SqlConnection conn = new SqlConnection(connectionString)) { String commandText = "Select Count([CourseID]) FROM [MySchool].[dbo].[Course] Where Year=@Year"; using (SqlCommand cmd = new SqlCommand(commandText, conn)) { SqlParameter parameterYear = new SqlParameter("@Year", SqlDbType.Int); parameterYear.Value = year; cmd.CommandType = commandType; cmd.Parameters.AddRange(parameters); conn.Open(); result = (int)cmd.ExecuteScalar(); } }
Plus d'infos sur : https://msdn.microsoft.com/fr-fr/library/system.data.sqlclient.sqlcommand(v=vs.110).aspx
Cordialement,
Kevin BEAUGRAND, Modis FRANCE
Merci de bien vouloir "Marquer comme réponse", les réponses qui ont résolu votre problème.- Marqué comme réponse philippe gerard jeudi 10 mars 2016 08:40
Toutes les réponses
-
Bonjour,
Les requêtes SQL en C# ne sont que des chaines de caractères, à vous donc de les réaliser correctement.
Ce qu'il vous manque peut être serait une manière de réaliser des requêtes mieux formatées.
Essayez par exemple d'utiliser String.Format.
Cette fonction permet de pré-formater une chaîne de caractères en lui passant des paramètre.
Ex:
Decimal pricePerOunce = 17.36m; String s = String.Format("The current price is {0} per ounce.", pricePerOunce); // Result: The current price is 17.36 per ounce.
Plus d'infos sur : https://msdn.microsoft.com/fr-fr/library/system.string.format(v=vs.110).aspx
Ensuite, je peux vous conseiller plutôt d'utiliser des paramètres SQL lors de vos requêtes. Cela vous évitera bien des soucis, dont les risques d'injection SQL.
Ex :
int result; using (SqlConnection conn = new SqlConnection(connectionString)) { String commandText = "Select Count([CourseID]) FROM [MySchool].[dbo].[Course] Where Year=@Year"; using (SqlCommand cmd = new SqlCommand(commandText, conn)) { SqlParameter parameterYear = new SqlParameter("@Year", SqlDbType.Int); parameterYear.Value = year; cmd.CommandType = commandType; cmd.Parameters.AddRange(parameters); conn.Open(); result = (int)cmd.ExecuteScalar(); } }
Plus d'infos sur : https://msdn.microsoft.com/fr-fr/library/system.data.sqlclient.sqlcommand(v=vs.110).aspx
Cordialement,
Kevin BEAUGRAND, Modis FRANCE
Merci de bien vouloir "Marquer comme réponse", les réponses qui ont résolu votre problème.- Marqué comme réponse philippe gerard jeudi 10 mars 2016 08:40
-