Rychlý start: Použití .NET (C#) k dotazování databáze

Platí pro: Azure SQL Database Azure SQL Managed InstanceAzure Synapse Analytics

V tomto rychlém startu se k databázi připojíte pomocí kódu .NET a C#. Potom spustíte příkaz Jazyka Transact-SQL pro dotazování dat. Tento rychlý start platí pro Windows, Linux a macOS a využívá jednotnou platformu .NET.

Tip

V tomto bezplatném modulu Learn se dozvíte, jak vyvíjet a konfigurovat ASP.NET aplikaci, která dotazuje databázi ve službě Azure SQL Database.

Požadavky

K dokončení tohoto rychlého startu je potřeba:

Vytvoření nového projektu .NET

  1. Otevřete příkazový řádek a vytvořte složku sqltest. Přejděte do této složky a spusťte tento příkaz.

    dotnet new console
    

    Tento příkaz vytvoří nové soubory projektu aplikace, včetně počátečního souboru kódu jazyka C# (Program.cs), konfiguračního souboru XML (sqltest.csproj) a potřebných binárních souborů.

  2. Na příkazovém řádku použitém výše spusťte tento příkaz.

    dotnet add package Microsoft.Data.SqlClient
    

    Tento příkaz přidá Microsoft.Data.SqlClient balíček do projektu.

Vložení kódu pro dotazování databáze ve službě Azure SQL Database

  1. V textovém editoru, jako je Visual Studio Code, otevřete Program.cs.

  2. Nahraďte obsah následujícím kódem a přidejte příslušné hodnoty pro váš server, databázi, uživatelské jméno a heslo.

Poznámka:

Pokud chcete použít ADO.NET připojovací řetězec, nahraďte 4 řádky v nastavení kódu serveru, databáze, uživatelského jména a hesla řádkem níže. V řetězci nastavte uživatelské jméno a heslo.

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();
        }
    }
}

Nezapomeňte nahradit <your_server.database.windows.net>, <your_username>, <your_password>a <your_database> se skutečnými podrobnostmi SQL Serveru. Nahraďte /* specific error number */ také skutečným číslem chyby SQL, které chcete zpracovat.

Spuštění kódu

  1. Na příkazovém řádku spusťte následující příkazy.

    dotnet restore
    dotnet run
    
  2. Ověřte, že jsou řádky vráceny, může výstup obsahovat další hodnoty.

    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. Výběrem klávesy Enter zavřete okno aplikace.