Maison >développement back-end >C++ >Comment puis-je exécuter des requêtes SQL directement en C# sans utiliser SQLCMD.exe ?
Exécuter des requêtes SQL directement en C#
Problème :
Les systèmes actuels interdisent l'exécution de fichiers batch qui exploitent SQLCMD.exe, nécessitant une approche alternative dans C#.
Solution :
Utilisation de la classe SqlCommand :
Pour exécuter des requêtes SQL directement à partir de C#, vous pouvez employer la classe SqlCommand. Cette classe vous permet de construire et d'exécuter des commandes SQL paramétrées, évitant ainsi les attaques par injection.
Exemple de code :
L'exemple de code suivant montre comment utiliser SqlCommand avec du SQL paramétré. :
string queryString = "SELECT tPatCulIntPatIDPk, tPatSFirstname, tPatSName, tPatDBirthday FROM [dbo].[TPatientRaw] WHERE tPatSName = @tPatSName"; string connectionString = "Server=.\PDATA_SQLEXPRESS;Database=;User Id=sa;Password=2BeChanged!;"; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand(queryString, connection); command.Parameters.AddWithValue("@tPatSName", "Your-Parm-Value"); connection.Open(); SqlDataReader reader = command.ExecuteReader(); try { while (reader.Read()) { Console.WriteLine(String.Format("{0}, {1}", reader["tPatCulIntPatIDPk"], reader["tPatSFirstname"]));// etc } } finally { reader.Close(); } }
Ce code se connecte à l'instance SQL Server spécifiée et ouvre une connexion. Il crée ensuite un objet SqlCommand à l'aide de la requête SQL paramétrée et ajoute le paramètre approprié à la commande. La connexion est ouverte, la requête est exécutée et les résultats sont récupérés à l'aide d'un objet SqlDataReader.
Veuillez noter que la gestion des erreurs et la fermeture de la connexion doivent être implémentées dans les applications pratiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!