クイックスタート: .NET (C#) を使用してデータベースのクエリを実行する

適用対象:Azure SQL データベースAzure SQL Managed InstanceAzure 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 パッケージがプロジェクトに追加されます。

Azure SQL Database のデータベースに対してクエリを実行するコードを挿入する

  1. Visual Studio Code などのテキスト エディターで、Program.cs を開きます。

  2. その内容を次のコードで置き換え、サーバー、データベース、ユーザー名、パスワードに実際の値を追加します。

Note

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. Enter キーを押してアプリケーション ウィンドウを閉じます。

次のステップ