„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie stelle ich mit C++ eine Verbindung zu einer MySQL-Datenbank her?

Wie stelle ich mit C++ eine Verbindung zu einer MySQL-Datenbank her?

Veröffentlicht am 31.10.2024
Durchsuche:438

How to Establish a Connection to a MySQL Database Using C  ?

So stellen Sie mit C eine Verbindung zu einer MySQL-Datenbank her

Im Bereich der Webentwicklung ist es häufig erforderlich, auf Daten aus einer Datenbank zuzugreifen und diese zu bearbeiten. C bietet leistungsstarke Funktionen zum Herstellen einer Verbindung zu und zum Abfragen von Datenbanken. In diesem Artikel befassen wir uns mit der Herstellung einer Verbindung mit einer MySQL-Datenbank mithilfe von C und demonstrieren den Vorgang anhand eines praktischen Codebeispiels.

Voraussetzungen

Um eine Verbindung mit einer MySQL-Datenbank herzustellen, Sie benötigen die folgenden Voraussetzungen:

  • MySQL-Datenbankserver, auf dem ausgeführt wird
  • MySQL Connector/C-Bibliothek installiert
  • C-Compiler (z. B. g , clang )

Herstellen der Verbindung

Das Herstellen einer Verbindung zur Datenbank ist der erste Schritt beim Zugriff auf Daten. Die MySQL Connector/C-Bibliothek stellt die notwendigen Klassen und Funktionen zum Herstellen einer Verbindung bereit. Der folgende Codeausschnitt demonstriert den Vorgang:

sql::Driver *driver;
sql::Connection *con;
driver = get_driver_instance();
con = driver->connect("tcp://127.0.0.1:3306", "root", "root");

In diesem Code ist Driver die Instanz der Driver-Klasse, Con ist die Verbindungsobjekt und get_driver_instance() ruft die Treiberinstanz aus der Bibliothek ab. Die Verbindung wird mit der Connect-Funktion geöffnet, die den Host, den Benutzernamen und das Passwort als Parameter verwendet.

Festlegen des Datenbankschemas

Sobald die Verbindung hergestellt ist, können Sie angeben, welches Datenbankschema Sie verwenden möchten mit denen ich arbeiten möchte. Ein Schema ist eine logische Sammlung von Objekten (Tabellen, Ansichten usw.) innerhalb einer Datenbank. Um das Schema festzulegen, verwenden Sie den folgenden Code:

con->setSchema("test");

In diesem Beispiel verwenden wir das Schema „test“, aber Sie können es in den gewünschten Schemanamen ändern.

Abfragen ausführen

Da die Verbindung nun bereit ist, können Sie SQL-Abfragen ausführen, um Daten abzurufen oder zu aktualisieren. Hier ist eine einfache Abfrage zum Auswählen von Daten:

sql::Statement *stmt;
sql::ResultSet *res;
stmt = con->createStatement();
res = stmt->executeQuery("SELECT 'Hello World!' AS _message'");

In diesem Code ist stmt ein Anweisungsobjekt, das zum Ausführen von Abfragen verwendet wird, und res ist die Ergebnismenge, die die Abfrage enthält Ergebnisse.

Verarbeiten der Ergebnisse

Um die Ergebnisse zu durchlaufen und Daten abzurufen, verwenden Sie den folgenden Code:

while (res->next()) {
    cout getString("_message") getString(1) 

Hier durchläuft die while-Schleife die Zeilen in der Ergebnismenge und res->next() bewegt den Cursor zur nächsten Zeile. res->getString() ruft den Wert der angegebenen Spalte ab (_message oder Spalte 1 im Beispiel).

Fazit

Durch Integration der MySQL Connector/C-Bibliothek und Befolgen der oben beschriebenen Schritte können Sie nahtlos eine Verbindung zu Ihrer MySQL-Datenbank herstellen und Datenoperationen in Ihren C-Anwendungen durchführen. Denken Sie daran, Ausnahmen zu behandeln und die Verbindungsobjekte zu schließen, wenn Sie fertig sind, um eine ordnungsgemäße Ressourcenverwaltung sicherzustellen.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3