Partager via


Démarrage rapide : Utiliser .NET (C#) pour interroger une base de données

S’applique à : Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics

Dans ce guide de démarrage rapide, vous allez utiliser .NET et du code C# pour vous connecter à une base de données. Vous allez ensuite exécuter une instruction Transact-SQL pour interroger des données. Ce guide de démarrage rapide s’applique à Windows, Linux et macOS et tire parti de la plateforme .NET unifiée.

Prérequis

Pour effectuer ce démarrage rapide, les éléments suivants sont requis :

Création d'un nouveau projet .NET

  1. Ouvrez une invite de commandes et créez un dossier nommé sqltest. Accédez à ce dossier et exécutez cette commande.

    dotnet new console
    

    Cette commande crée de nouveaux fichiers projet d’application, y compris un fichier de code C# initial (Program.cs), un fichier de configuration XML (sqltest.csproj) et les fichiers binaires nécessaires.

  2. À l’invite de commandes, exécutez cette commande.

    dotnet add package Microsoft.Data.SqlClient
    

    Cette commande ajoute le package Microsoft.Data.SqlClient au projet.

Ajouter du code pour interroger la base de données dans Azure SQL Database

  1. Dans un éditeur de texte tel que Visual Studio Code, ouvrez Program.cs.

  2. Remplacez le contenu par le code suivant et ajoutez les valeurs appropriées pour votre serveur, base de données, nom d’utilisateur et mot de passe.

Notes

Pour utiliser une chaîne de connexion ADO.NET, remplacez les 4 lignes dans le code définissant le serveur, la base de données, le nom d’utilisateur et le mot de passe par la ligne ci-dessous. Dans la chaîne, définissez votre nom d’utilisateur et votre mot de passe.

builder.ConnectionString="<your_ado_net_connection_string>";

using Microsoft.Data.SqlClient;
using System;
using System.Threading.Tasks;

namespace sqltest
{
    class Program
    {
        static async Task Main(string[] args)
        {
            var builder = new SqlConnectionStringBuilder
            {
                DataSource = "<your_server.database.windows.net>",
                UserID = "<your_username>",
                Password = "<your_password>",
                InitialCatalog = "<your_database>"
            };

            var connectionString = builder.ConnectionString;

            try
            {
                await using var connection = new SqlConnection(connectionString);
                Console.WriteLine("\nQuery data example:");
                Console.WriteLine("=========================================\n");

                await connection.OpenAsync();

                var sql = "SELECT name, collation_name FROM sys.databases";
                await using var command = new SqlCommand(sql, connection);
                await using var reader = await command.ExecuteReaderAsync();

                while (await reader.ReadAsync())
                {
                    Console.WriteLine("{0} {1}", reader.GetString(0), reader.GetString(1));
                }
            }
            catch (SqlException e) when (e.Number == /* specific error number */)
            {
                Console.WriteLine($"SQL Error: {e.Message}");
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }

            Console.WriteLine("\nDone. Press enter.");
            Console.ReadLine();
        }
    }
}

N’oubliez pas de remplacer <your_server.database.windows.net>, <your_username>, <your_password>et <your_database> par vos détails SQL Server réels. Remplacez également /* specific error number */ par le numéro d'erreur SQL réel que vous souhaitez gérer.

Exécuter le code

  1. À l’invite, exécutez les commandes suivantes.

    dotnet restore
    dotnet run
    
  2. Vérifiez que les lignes sont retournées, votre sortie peut inclure d’autres valeurs.

    Query data example:
    =========================================
    
    master    SQL_Latin1_General_CP1_CI_AS
    tempdb    SQL_Latin1_General_CP1_CI_AS
    WideWorldImporters    Latin1_General_100_CI_AS
    
    Done. Press enter.
    
  3. Appuyez sur Entrée pour fermer la fenêtre d’application.