Quickstart: Use .NET and C# in Visual Studio to connect to and query a database
APPLIES TO:
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
This quickstart shows how to use the .NET Framework and C# code in Visual Studio to query a database in Azure SQL or Synapse SQL with Transact-SQL statements.
Prerequisites
To complete this quickstart, you need:
An Azure account with an active subscription. Create an account for free.
Visual Studio 2019 Community, Professional, or Enterprise edition.
A database where you can run a query.
You can use one of these quickstarts to create and then configure a database:
Action SQL Database SQL Managed Instance SQL Server on Azure VM Azure Synapse Analytics Create Portal Portal Portal Portal CLI CLI PowerShell PowerShell PowerShell PowerShell Deployment template Deployment template Configure Server-level IP firewall rule Connectivity from a VM Connectivity from on-premises Connect to a SQL Server instance Get connection information Azure SQL Azure SQL SQL VM Synapse SQL
Create code to query the database in Azure SQL Database
In Visual Studio, create a new project.
In the New Project dialog, select the Visual C#, Console App (.NET Framework).
Enter sqltest for the project name, and then select OK. The new project is created.
Select Project > Manage NuGet Packages.
In NuGet Package Manager, select the Browse tab, then search for and select Microsoft.Data.SqlClient.
On the Microsoft.Data.SqlClient page, select Install.
- If prompted, select OK to continue with the installation.
- If a License Acceptance window appears, select I Accept.
When the install completes, you can close NuGet Package Manager.
In the code editor, replace the Program.cs contents with the following code. Replace your values for
<your_server>,<your_username>,<your_password>, and<your_database>.using System; using Microsoft.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"); String sql = "SELECT name, collation_name FROM sys.databases"; using (SqlCommand command = new SqlCommand(sql, connection)) { connection.Open(); 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.ReadLine(); } } }
Run the code
- To run the app, select Debug > Start Debugging, or select Start on the toolbar, or press F5.
- Verify that the database names and collations are returned, and then close the app window.
Next steps
- Learn how to connect and query a database in Azure SQL Database by using .NET Core on Windows/Linux/macOS.
- Learn about Getting started with .NET Core on Windows/Linux/macOS using the command line.
- Learn how to Design your first database in Azure SQL Database by using SSMS or Design your first database in Azure SQL Database by using .NET.
- For more information about .NET, see .NET documentation.
- Retry logic example: Connect resiliently to Azure SQL with ADO.NET.