Bagikan melalui


Mulai cepat: Menggunakan .NET (C#) untuk mengkueri database

Berlaku untuk: Azure SQL Database Azure SQL Managed InstanceAzure Synapse Analytics

Dalam mulai cepat ini, Anda akan menggunakan kode .NET dan C# untuk menyambungkan ke database. Anda kemudian akan menjalankan pernyataan Transact-SQL untuk kueri data. Mulai cepat ini berlaku untuk Windows, Linux, dan macOS dan memanfaatkan platform .NET terpadu.

Prasyarat

Untuk menyelesaikan mulai cepat ini, Anda memerlukan:

Membuat proyek .NET baru

  1. Buka prompt perintah dan buat folder bernama sqltest. Navigasi ke folder ini dan jalankan perintah ini.

    dotnet new console
    

    Perintah ini membuat file project aplikasi baru, termasuk file kode awal C # (Program.cs), file konfigurasi XML (sqltest.csproj), dan membutuhkan biner.

  2. Pada prompt perintah yang digunakan di atas, jalankan perintah ini.

    dotnet add package Microsoft.Data.SqlClient
    

    Perintah ini menambahkan Microsoft.Data.SqlClient paket ke proyek.

Membuat kode untuk mengkueri database di Azure SQL Database

  1. Di editor teks seperti Visual Studio Code, buka Program.cs.

  2. Ganti konten dengan kode berikut dan tambahkan nilai yang sesuai untuk server, database, nama pengguna, dan kata sandi Anda.

Catatan

Untuk menggunakan string koneksi ADO.NET, ganti 4 baris dalam kode yang mengatur server, database, nama pengguna, dan kata sandi dengan baris di bawah ini. Dalam string, atur nama pengguna dan kata sandi Anda.

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

Ingatlah untuk mengganti <your_server.database.windows.net>, <your_username>, <your_password>, dan <your_database> dengan detail SQL Server Anda yang sebenarnya. Selain itu, ganti /* specific error number */ dengan nomor kesalahan SQL aktual yang ingin Anda tangani.

Menjalankan kode

  1. Pada perintah, jalankan perintah berikut.

    dotnet restore
    dotnet run
    
  2. Verifikasi bahwa baris dikembalikan, output Anda mungkin menyertakan nilai lain.

    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. Pilih Enter untuk menutup jendela aplikasi.