Hızlı Başlangıç: Veritabanını sorgulamak için .NET (C#) kullanma

Şunlar için geçerlidir: Azure SQL Veritabanı Azure SQL Yönetilen Örneği Azure Synapse Analytics

Bu hızlı başlangıçta veritabanına bağlanmak için .NET ve C# kodunu kullanacaksınız. Ardından verileri sorgulamak için bir Transact-SQL deyimi çalıştıracaksınız. Bu hızlı başlangıç Windows, Linux ve macOS için geçerlidir ve birleşik .NET platformundan yararlanılır.

Önkoşullar

Bu hızlı başlangıcı tamamlamak için şunlar gerekir:

Yeni bir .NET projesi oluşturma

  1. Komut istemini açın ve sqltest adlı bir klasör oluşturun. Bu klasöre gidin ve bu komutu çalıştırın.

    dotnet new console
    

    Bu komut, ilk C# kod dosyası (Program.cs), XML yapılandırma dosyası (sqltest.csproj) ve gerekli ikili dosyalar dahil olmak üzere yeni uygulama proje dosyaları oluşturur.

  2. Yukarıda kullanılan komut isteminde bu komutu çalıştırın.

    dotnet add package Microsoft.Data.SqlClient
    

    Bu komut paketi projeye ekler Microsoft.Data.SqlClient .

veritabanını Azure SQL Veritabanı sorgulamak için kod ekleme

  1. Visual Studio Code gibi bir metin düzenleyicisinde Program.cs açın.

  2. İçeriği aşağıdaki kodla değiştirin ve sunucunuz, veritabanınız, kullanıcı adınız ve parolanız için uygun değerleri ekleyin.

Not

ADO.NET bağlantı dizesi kullanmak için sunucu, veritabanı, kullanıcı adı ve parolayı kod ayarındaki 4 satırı aşağıdaki satırla değiştirin. Dizede kullanıcı adınızı ve parolanızı ayarlayın.

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

, , <your_username><your_password>ve <your_database> değerlerini gerçek SQL Server ayrıntılarınızla değiştirmeyi <your_server.database.windows.net>unutmayın. Ayrıca değerini işlemek istediğiniz gerçek SQL hata numarasıyla değiştirin /* specific error number */ .

Kodu çalıştırma

  1. İstemde aşağıdaki komutları çalıştırın.

    dotnet restore
    dotnet run
    
  2. Satırların döndürüldüğünü doğrulayın; çıkışınız başka değerler içerebilir.

    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. Uygulama penceresini kapatmak için Enter'ı seçin.