Mulai cepat: Menggunakan .NET (C#) untuk menyambungkan dan mengkueri data di server fleksibel Azure Database for PostgreSQL

Panduan memulai cepat ini menjelaskan cara menyambungkan ke server fleksibel Azure Database for PostgreSQL menggunakan aplikasi C#. Ini menunjukkan cara menggunakan pernyataan SQL untuk mengkueri, menyisipkan, memperbarui, dan menghapus data dalam database. Langkah-langkah dalam artikel ini mengasumsikan bahwa Anda terbiasa mengembangkan dengan menggunakan C#, dan bahwa Anda baru bekerja dengan Azure Database for PostgreSQL.

Prasyarat

Untuk mulai cepat ini, Anda memerlukan:

Mendapatkan informasi koneksi

Dapatkan informasi koneksi yang diperlukan untuk menyambungkan ke server fleksibel Azure Database for PostgreSQL. Anda memerlukan nama server dan kredensial autentikasi yang sepenuhnya memenuhi syarat.

Gunakan portal Azure:

  1. Dari menu sebelah kiri di portal Azure, pilih Semua sumber daya, lalu cari server yang Anda buat.

  2. Pilih nama server.

  3. Pada menu sumber daya, pilih Ringkasan.

    Cuplikan layar memperlihatkan halaman Gambaran Umum.

  4. Salin nilai yang ditampilkan sebagai Endpoint dan Administrator login.

    Cuplikan layar memperlihatkan nilai login Titik Akhir dan Administrator di halaman Gambaran Umum.

  5. Jika Anda lupa kata sandi untuk autentikasi administrator, atur ulang dengan menggunakan tombol Atur ulang kata sandi .

    Cuplikan layar memperlihatkan tombol Atur ulang kata sandi di halaman Gambaran Umum.

Langkah 1: Menyambungkan dan menyisipkan data

Gunakan kode berikut untuk menghubungkan dan memuat data dengan menggunakan pernyataan SQL CREATE TABLE dan INSERT INTO. Kode ini menggunakan kelas NpgsqlCommand dengan metode ini:

  • Open() untuk membuat koneksi ke database server fleksibel Azure Database for PostgreSQL.
  • CreateCommand() untuk menyetel properti CommandText.
  • Metode ExecuteNonQuery() untuk menjalankan perintah database.

Penting

Ganti parameter Host, DBName, User, dan Password dengan nilai yang Anda tentukan saat membuat server dan database.

using System;
using Npgsql;

namespace Driver
{
    public class AzurePostgresCreate
    {
        // Obtain connection string information from the portal
        //
        private static string Host = "mydemoserver.postgres.database.azure.com";
        private static string User = "mylogin";
        private static string  DBname = "postgres";
        private static string Password = "<server_admin_password>";
        private static string Port = "5432";

        static void Main(string[] args)
        {
            // Build connection string using parameters from portal
            //
            string connString =
                String.Format(
                    "Server={0};Username={1};Database={2};Port={3};Password={4};SSLMode=Prefer",
                    Host,
                    User,
                    DBname,
                    Port,
                    Password);


            using (var conn = new NpgsqlConnection(connString))

            {
                Console.Out.WriteLine("Opening connection");
                conn.Open();

                using (var command = new NpgsqlCommand("DROP TABLE IF EXISTS inventory", conn))
                {
                    command.ExecuteNonQuery();
                    Console.Out.WriteLine("Finished dropping table (if existed)");

                }

                using (var command = new NpgsqlCommand("CREATE TABLE inventory(id serial PRIMARY KEY, name VARCHAR(50), quantity INTEGER)", conn))
                {
                    command.ExecuteNonQuery();
                    Console.Out.WriteLine("Finished creating table");
                }

                using (var command = new NpgsqlCommand("INSERT INTO inventory (name, quantity) VALUES (@n1, @q1), (@n2, @q2), (@n3, @q3)", conn))
                {
                    command.Parameters.AddWithValue("n1", "banana");
                    command.Parameters.AddWithValue("q1", 150);
                    command.Parameters.AddWithValue("n2", "orange");
                    command.Parameters.AddWithValue("q2", 154);
                    command.Parameters.AddWithValue("n3", "apple");
                    command.Parameters.AddWithValue("q3", 100);

                    int nRows = command.ExecuteNonQuery();
                    Console.Out.WriteLine(String.Format("Number of rows inserted={0}", nRows));
                }
            }

            Console.WriteLine("Press RETURN to exit");
            Console.ReadLine();
        }
    }
}

Memiliki masalah? Beri tahu kami.

Langkah 2: Membaca data

Gunakan kode berikut untuk menyambungkan dan membaca data menggunakan pernyataan SQL SELECT. Kode ini menggunakan kelas NpgsqlCommand dengan metode ini:

Penting

Ganti parameter Host, DBName, User, dan Password dengan nilai yang Anda tentukan saat membuat server dan database.

using System;
using Npgsql;

namespace Driver
{
    public class AzurePostgresRead
    {
        // Obtain connection string information from the portal
        //
        private static string Host = "mydemoserver.postgres.database.azure.com";
        private static string User = "mylogin";
        private static string  DBname = "postgres";
        private static string Password = "<server_admin_password>";
        private static string Port = "5432";

        static void Main(string[] args)
        {
            // Build connection string using parameters from portal
            //
            string connString =
                String.Format(
                    "Server={0}; User Id={1}; Database={2}; Port={3}; Password={4};SSLMode=Prefer",
                    Host,
                    User,
                    DBname,
                    Port,
                    Password);

            using (var conn = new NpgsqlConnection(connString))
            {

                Console.Out.WriteLine("Opening connection");
                conn.Open();


                using (var command = new NpgsqlCommand("SELECT * FROM inventory", conn))
                {

                    var reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        Console.WriteLine(
                            string.Format(
                                "Reading from table=({0}, {1}, {2})",
                                reader.GetInt32(0).ToString(),
                                reader.GetString(1),
                                reader.GetInt32(2).ToString()
                                )
                            );
                    }
                    reader.Close();
                }
            }

            Console.WriteLine("Press RETURN to exit");
            Console.ReadLine();
        }
    }
}

Memiliki masalah? Beri tahu kami.

Langkah 3: Memperbarui data

Gunakan kode berikut untuk menyambungkan ke database dan memperbarui data dengan menggunakan pernyataan UPDATE SQL. Kode menggunakan NpgsqlCommand kelas dengan metode berikut:

  • Buka() untuk membuat koneksi ke server fleksibel Azure Database for PostgreSQL.
  • CreateCommand() untuk mengatur CommandText properti.
  • Metode ExecuteNonQuery() untuk menjalankan perintah database.

Penting

Ganti parameter Host, DBName, User, dan Password dengan nilai yang Anda tentukan saat membuat server dan database.

using System;
using Npgsql;

namespace Driver
{
    public class AzurePostgresUpdate
    {
        // Obtain connection string information from the portal
        //
        private static string Host = "mydemoserver.postgres.database.azure.com";
        private static string User = "mylogin";
        private static string  DBname = "postgres";
        private static string Password = "<server_admin_password>";
        private static string Port = "5432";

        static void Main(string[] args)
        {
            // Build connection string using parameters from portal
            //
            string connString =
                String.Format(
                    "Server={0}; User Id={1}; Database={2}; Port={3}; Password={4};SSLMode=Prefer",
                    Host,
                    User,
                    DBname,
                    Port,
                    Password);

            using (var conn = new NpgsqlConnection(connString))
            {

                Console.Out.WriteLine("Opening connection");
                conn.Open();

                using (var command = new NpgsqlCommand("UPDATE inventory SET quantity = @q WHERE name = @n", conn))
                {
                    command.Parameters.AddWithValue("n", "banana");
                    command.Parameters.AddWithValue("q", 200);
                    int nRows = command.ExecuteNonQuery();
                    Console.Out.WriteLine(String.Format("Number of rows updated={0}", nRows));
                }
            }

            Console.WriteLine("Press RETURN to exit");
            Console.ReadLine();
        }
    }
}


Memiliki masalah? Beri tahu kami.

Langkah 4: Menghapus data

Gunakan kode berikut untuk menyambungkan ke database dan menghapus data dengan menggunakan pernyataan DELETE SQL.

Kode menggunakan NpgsqlCommand kelas dengan metode Open() untuk membuat koneksi ke database server fleksibel Azure Database for PostgreSQL. Kemudian, kode menggunakan metode CreateCommand(), mengatur CommandText properti, dan memanggil metode ExecuteNonQuery() untuk menjalankan perintah database.

Penting

Ganti parameter Host, DBName, User, dan Password dengan nilai yang Anda tentukan saat membuat server dan database.

using System;
using Npgsql;

namespace Driver
{
    public class AzurePostgresDelete
    {
        // Obtain connection string information from the portal
        //
        private static string Host = "mydemoserver.postgres.database.azure.com";
        private static string User = "mylogin@mydemoserver";
        private static string  DBname = "postgres";
        private static string Password = "<server_admin_password>";
        private static string Port = "5432";

        static void Main(string[] args)
        {
            // Build connection string using parameters from portal
            //
            string connString =
                String.Format(
                    "Server={0}; User Id={1}; Database={2}; Port={3}; Password={4};SSLMode=Prefer",
                    Host,
                    User,
                    DBname,
                    Port,
                    Password);

            using (var conn = new NpgsqlConnection(connString))
            {
                Console.Out.WriteLine("Opening connection");
                conn.Open();

                using (var command = new NpgsqlCommand("DELETE FROM inventory WHERE name = @n", conn))
                {
                    command.Parameters.AddWithValue("n", "orange");

                    int nRows = command.ExecuteNonQuery();
                    Console.Out.WriteLine(String.Format("Number of rows deleted={0}", nRows));
                }
            }

            Console.WriteLine("Press RETURN to exit");
            Console.ReadLine();
        }
    }
}

Membersihkan sumber daya

Untuk membersihkan semua sumber daya yang digunakan selama mulai cepat ini, hapus grup sumber daya dengan menggunakan perintah berikut:

az group delete \
    --name $AZ_RESOURCE_GROUP \
    --yes