Краткое руководство. Использование .NET (C#) для запроса к базе данных

Область применения: База данных SQL Azure Управляемый экземпляр SQL Azure Azure Synapse Analytics

В этом кратком руководстве вы будете использовать код .NET и C# для подключения к базе данных. Затем вы выполните инструкцию Transact-SQL для запроса данных. Это краткое руководство применимо к Windows, Linux и macOS и использует единую платформу .NET.

Предварительные требования

Для работы с этим кратким руководством вам понадобится:

Создание проекта .NET

  1. Откройте командную строку и создайте папку с именем sqltest. Перейдите в эту папку и выполните следующую команду.

    dotnet new console
    

    Эта команда создает файлы проекта нового приложения, включая первоначальный файл кода C# (Program.cs), файл конфигурации XML (sqltest.csproj) и необходимые двоичные файлы.

  2. В командной строке, используемой выше, выполните следующую команду.

    dotnet add package Microsoft.Data.SqlClient
    

    Эта команда добавляет Microsoft.Data.SqlClient пакет в проект.

Вставка кода для запроса к Базе данных SQL Azure

  1. В текстовом редакторе, например Visual Studio Code, откройте файл Program.cs.

  2. Замените содержимое следующим кодом и добавьте соответствующие значения для сервера, базы данных, имени пользователя и пароля.

Примечание

Чтобы использовать строку подключения ADO.NET, замените 4 строки в коде, устанавливающем сервер, базу данных, имя пользователя и пароль, следующей строкой. В строке задайте имя пользователя и пароль.

builder.ConnectionString="<your_ado_net_connection_string>";

using Microsoft.Data.SqlClient;

namespace sqltest
{
    class Program
    {
        static void Main(string[] args)
        {
            try 
            { 
                SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();

                builder.DataSource = "<your_server.database.windows.net>"; 
                builder.UserID = "<your_username>";            
                builder.Password = "<your_password>";     
                builder.InitialCatalog = "<your_database>";
         
                using (SqlConnection connection = new SqlConnection(builder.ConnectionString))
                {
                    Console.WriteLine("\nQuery data example:");
                    Console.WriteLine("=========================================\n");
                    
                    connection.Open();       

                    String sql = "SELECT name, collation_name FROM sys.databases";

                    using (SqlCommand command = new SqlCommand(sql, connection))
                    {
                        using (SqlDataReader reader = command.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                Console.WriteLine("{0} {1}", reader.GetString(0), reader.GetString(1));
                            }
                        }
                    }                    
                }
            }
            catch (SqlException e)
            {
                Console.WriteLine(e.ToString());
            }
            Console.WriteLine("\nDone. Press enter.");
            Console.ReadLine(); 
        }
    }
}

Выполнение кода

  1. Выполните следующие команды при выводе запроса.

    dotnet restore
    dotnet run
    
  2. Убедитесь, что строки возвращены, выходные данные могут содержать другие значения.

    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. Нажмите клавишу ВВОД, чтобы закрыть окно приложения.

Дальнейшие действия