Schnellstart: Verwenden Sie .NET (C#), um eine Verbindung mit Azure Database for PostgreSQL – Flexible Server herzustellen und Daten abzufragen.

In dieser Schnellstartanleitung wird veranschaulicht, wie Sie mithilfe einer C#-Anwendung eine Verbindung mit einem Azure Database for PostgreSQL flexiblen Server herstellen. Es wird veranschaulicht, wie Sie SQL-Anweisungen zum Abfragen, Einfügen, Aktualisieren und Löschen von Daten in der Datenbank verwenden. Bei den Schritten in diesem Artikel wird davon ausgegangen, dass Sie mit der Entwicklung mit C# vertraut sind und mit Azure Database for PostgreSQL noch nicht vertraut sind.

Voraussetzungen

Für diese Schnellstartanleitung benötigen Sie Folgendes:

Abrufen von Verbindungsinformationen

Rufen Sie die Verbindungsinformationen ab, die zum Herstellen einer Verbindung mit dem Azure Database for PostgreSQL flexiblen Server erforderlich sind. Sie benötigen den vollqualifizierten Servernamen und die Authentifizierungsanmeldeinformationen.

Verwenden Sie das Azure-Portal:

  1. Wählen Sie im linken Menü in Azure Portal "Alle Ressourcen" aus, und suchen Sie dann nach dem von Ihnen erstellten Server.

  2. Wählen Sie den Servernamen aus.

  3. Wählen Sie im Ressourcenmenü die Option "Übersicht" aus.

    Screenshot der Seite „Übersicht“

  4. Kopieren Sie die Werte, die als Endpunkt und Administrationsanmeldung angezeigt werden.

    Screenshot der Werte von „Endpunkt“ und „Administrationsanmeldung“ auf der Seite „Übersicht“.

  5. Wenn Sie das Kennwort für die Administratorauthentifizierung vergessen, setzen Sie es mithilfe der Schaltfläche "Kennwort zurücksetzen" zurück .

    Screenshot der Schaltfläche „Kennwort zurücksetzen“ auf der Seite „Übersicht“.

Schritt 1: Herstellen einer Verbindung und Einfügen von Daten

Verwenden Sie den folgenden Code, um eine Verbindung herzustellen und die Daten zu laden, indem Sie die SQL-Anweisungen CREATE TABLE und INSERT INTO verwenden. Der Code verwendet die NpgsqlCommand-Klasse mit den folgenden Methoden:

  • Open() zum Herstellen einer Verbindung mit der Datenbank in Azure Database for PostgreSQL – Flexibler Server.
  • CreateCommand() zum Festlegen der CommandText-Eigenschaft
  • ExecuteNonQuery()-Methode zum Ausführen von Datenbankbefehlen.

Von Bedeutung

Ersetzen Sie die Parameter „Host“, „DBName“, „User“ und „Password“ durch die Werte, die Sie beim Erstellen des Servers und der Datenbank angegeben haben.

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

Treten Probleme auf? Teilen Sie es uns mit.

Schritt 2: Lesen von Daten

Verwenden Sie den folgenden Code, um die Daten mit einer SQL-Anweisung des Typs SELECT zu verbinden und zu lesen. Der Code verwendet die NpgsqlCommand-Klasse mit den folgenden Methoden:

Von Bedeutung

Ersetzen Sie die Parameter „Host“, „DBName“, „User“ und „Password“ durch die Werte, die Sie beim Erstellen des Servers und der Datenbank angegeben haben.

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

Treten Probleme auf? Teilen Sie es uns mit.

Schritt 3: Aktualisieren von Daten

Verwenden Sie den folgenden Code, um eine Verbindung mit der Datenbank herzustellen und die Daten mithilfe einer UPDATE SQL-Anweisung zu aktualisieren. Der Code verwendet die NpgsqlCommand Klasse mit den folgenden Methoden:

  • Open() zum Herstellen einer Verbindung mit dem Azure Database for PostgreSQL flexiblen Server.
  • CreateCommand() zum Festlegen der CommandText Eigenschaft.
  • ExecuteNonQuery()-Methode zum Ausführen von Datenbankbefehlen.

Von Bedeutung

Ersetzen Sie die Parameter „Host“, „DBName“, „User“ und „Password“ durch die Werte, die Sie beim Erstellen des Servers und der Datenbank angegeben haben.

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


Treten Probleme auf? Teilen Sie es uns mit.

Schritt 4: Löschen von Daten

Verwenden Sie den folgenden Code, um eine Verbindung mit der Datenbank herzustellen und Daten mithilfe einer DELETE SQL-Anweisung zu löschen.

Der Code verwendet die NpgsqlCommand Klasse mit der Open()-Methode, um eine Verbindung mit der Azure Database for PostgreSQL flexiblen Serverdatenbank herzustellen. Anschließend verwendet der Code die CreateCommand() -Methode, legt die CommandText Eigenschaft fest und ruft die ExecuteNonQuery() -Methode auf, um die Datenbankbefehle auszuführen.

Von Bedeutung

Ersetzen Sie die Parameter „Host“, „DBName“, „User“ und „Password“ durch die Werte, die Sie beim Erstellen des Servers und der Datenbank angegeben haben.

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

Bereinigen von Ressourcen

Um alle während dieser Schnellstartanleitung verwendeten Ressourcen zu bereinigen, löschen Sie die Ressourcengruppe mithilfe des folgenden Befehls:

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