Maison > développement back-end > C++ > Comment puis-je exécuter des requêtes SQL directement en C# sans utiliser SQLCMD.exe ?

Comment puis-je exécuter des requêtes SQL directement en C# sans utiliser SQLCMD.exe ?

Patricia Arquette
Libérer: 2025-01-05 15:09:39
original
642 Les gens l'ont consulté

How Can I Execute SQL Queries Directly in C# Without Using 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();
    }
}
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal