Snabbstart: Använda .NET Core (C#) för att fråga en databas

GÄLLER FÖR: Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics

I den här snabbstarten använder du .NET Core och C#-kod för att ansluta till en databas. Sedan kör du en Transact-SQL-instruktion för att fråga efter data.

Tips

Följande modul Microsoft Learn dig att kostnadsfritt lära dig hur du utvecklar och konfigurerar ett ASP.NET-program som frågar en databas i Azure SQL Database

Förutsättningar

För att slutföra den här snabbstarten behöver du:

Skapa ett nytt .NET Core-projekt

  1. Öppna en kommandotolk och skapa en mapp med namnet sqltest. Gå till mappen och kör detta kommando.

    dotnet new console
    

    Detta kommando skapar nya app-projektfiler, inklusive en inledande C#-kodfil (Program.cs), en XML-konfigurationsfil (sqltest.csproj) och de binärfiler som behövs.

  2. Öppna sqltest.csproj i ett redigeringsprogram och klistra in följande XML mellan <Project>-taggarna. Detta XML lägger till System.Data.SqlClient som ett beroende.

    <ItemGroup>
        <PackageReference Include="System.Data.SqlClient" Version="4.6.0" />
    </ItemGroup>
    

Infoga kod för att fråga databasen i Azure SQL Database

  1. Öppna Program.cs i ett redigeringsprogram.

  2. Ersätt innehållet med nedanstående kod och lägg till lämpliga värden för server, databas, användarnamn och lösenord.

Anteckning

Om du vill använda en ADO.NET-anslutningssträng ersätter du de 4 raderna i kodinställningen för server, databas, användarnamn och lösenord med raden nedan. Ange ditt användarnamn och lösenord i strängen.

builder.ConnectionString="<your_ado_net_connection_string>";

using System;
using System.Data.SqlClient;
using System.Text;

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

Kör koden

  1. Kör följande kommandon när du uppmanas till det.

    dotnet restore
    dotnet run
    
  2. Kontrollera att raderna returneras.

    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älj Retur för att stänga programfönstret.

Nästa steg