Guia de Início Rápido: Usar o .NET (C#) para consultar um banco de dados

Aplica-se a: Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics

Neste guia de início rápido, você usará o .NET e o código C# para se conectar a um banco de dados. Em seguida, você executará uma instrução Transact-SQL para consultar dados. Este guia de início rápido é aplicável ao Windows, ao Linux e ao macOS e aproveita a plataforma .NET unificada.

Pré-requisitos

Para concluir este início rápido, você precisa de:

Criar um novo projeto .NET

  1. Abra um prompt de comando e crie uma pasta chamada sqltest. Navegue até essa pasta e execute este comando.

    dotnet new console
    

    Esse comando cria os arquivos de projeto do aplicativo, incluindo um arquivo de código C# inicial (Program.cs), um arquivo de configuração XML (sqltest.csproj) e os binários necessários.

  2. No prompt de comando usado acima, execute este comando.

    dotnet add package Microsoft.Data.SqlClient
    

    Esse comando adiciona o pacote Microsoft.Data.SqlClient ao projeto.

Inserir código para consultar o banco de dados no Banco de Dados SQL do Azure

  1. Em um editor de texto, como o Visual Studio Code, abra Program.cs.

  2. Substitua o conteúdo pelo código a seguir e adicione os valores apropriados para seu servidor, banco de dados, nome de usuário e senha.

Observação

Para usar uma cadeia de conexão do ADO.NET, substitua as 4 linhas no código de configuração de servidor, banco de dados, nome de usuário e senha pela linha abaixo. Na cadeia de caracteres, defina seu nome de usuário e senha.

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

Lembre-se de substituir <your_server.database.windows.net>, <your_username>, <your_password> e <your_database> pelos detalhes reais do SQL Server. Além disso, substitua /* specific error number */ pelo número do erro SQL real que você quer manipular.

Executar o código

  1. No prompt, execute os comandos a seguir.

    dotnet restore
    dotnet run
    
  2. Verifique se as linhas são retornadas. A saída pode incluir outros valores.

    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. Pressione Enter para fechar a janela do aplicativo.