Detaillierte Schritte für QT zum Herstellen einer Verbindung zur MySQL-Datenbank

Detaillierte Schritte für QT zum Herstellen einer Verbindung zur MySQL-Datenbank

Der erste Schritt besteht darin, das entsprechende Datenbankmodul (sql) zur Projektdatei ( .pro ) hinzuzufügen und mehrere Klassen (auch die entsprechenden Headerdateien) einzuführen.

  • QSqlError -Klasse, die SQL-Datenbankfehlerinformationen bereitstellt
  • QSql Query bietet Methoden zum Ausführen und Bearbeiten von SQL-Anweisungen
  • QSql QueryDatabase verwaltet die Verbindung zur Datenbank

1. Datenbankverbindung

 //MySQL-Datenbank hinzufügen QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL"); 
        //Verbindung zur Datenbank herstellen db.setHostName("127.0.0.1"); //IP des Datenbankservers
        db.setUserName("root"); //Datenbank-Benutzername db.setPassword("root"); //Datenbank-Benutzername und -Passwort db.setDatabaseName("sys"); //Datenbankname if(db.open()==false)
        {
            QMessageBox::information(this,"Öffnen der Datenbank fehlgeschlagen",db.lastError().text());
            zurückkehren;
        }

Wenn dies fehlschlägt, kann es sein, dass QT eine Bibliothek benötigt, um eine Verbindung zur MySQL-Datenbank herzustellen (laden Sie libmysql.dll selbst herunter) und legen Sie die Bibliotheksdatei im QT-Installationsverzeichnis D:\Qt\5.9\mingw53_32\bin ab (entsprechend Ihrem eigenen Verzeichnis). Meine QT-Version ist 5.9. Ist die Datenbank geöffnet? Liegt der Benutzer falsch? Existiert diese Datenbank?

2. Erstellen Sie eine Tabelle

: QSqlQuery q;
q.exec("Tabelle Student erstellen (ID int Primärschlüssel auto_increment, Name varchar(255), Alter int, Punktzahl int)ENGINE=INNODB;");

3. Daten in die Tabelle einfügen

Methode 1 (Einzelzeileneinlage)

q.exec("insert into student(id, name, age,score) values(1, 'Name', 24,80);");

Methode 2 (mehrere Zeilen einfügen) ist in ODBC-Stil und Oracle-Stil unterteilt

1. ODBC-Stil

 q.prepare("insert into student(name, age,score) values(?, ?, ?)"); //? ist ein Platzhalter für den QVariantList-Namen;
   Name<<"Primzahl"<<"Warten"<<"An An";
   QVariantList Alter;
   Alter<<-2<<12<<14;
   QVariantList-Punktzahl;
   Punktzahl<<0<<89<<90;
   // Binden Sie die entsprechenden Werte der Reihe nach an die Felder q.addBindValue(name);
   q.addBindValue(Alter);
   q.addBindValue(Punktzahl);
   //Vorverarbeitungsbefehle ausführen q.execBatch();

Um die Header-Datei #include<QVariantList> hinzuzufügen, sollten die Felder in der Reihenfolge gebunden werden

2.orace Stil d

//Platzhalter: + benutzerdefinierter Name q.prepare("insert into student(name, age,score) values(:n, :a,:s)");
  QVariantList-Name;
  Name <<"Quark" <<"Redmi" <<"Hongmeng";
  QVariantList Alter;
  Alter<<5<<10<<3;
  QVariantList-Punktzahl;
  Punktzahl<<77<<89<<99;
  // Binden Sie die Felder in beliebiger Reihenfolge aufgrund von: + benutzerdefiniertem Namen q.bindValue(":n",name);
  q.bindValue(":s",Punktzahl);
  q.bindValue(":a",Alter);
  //Vorverarbeitungsbefehle ausführen q.execBatch();

Die Reihenfolge der Felder kann aufgrund der Platzhalterunterscheidung beliebig sein

3. Tabelle aktualisieren

: QSqlQuery q;
        q.exec("aktualisiere den festgelegten Punktestand des Schülers = 76, wobei Name = 'Notenwert' ist");

4. Löschen Sie die Tabelle

: QSqlQuery q;
        q.exec("löschen von Student, bei dem Name='Student'");

5. Durchqueren Sie den Tisch

: QSqlQuery q;
    q.exec("Wählen Sie *aus dem Studenten aus");
    while(q.next()) // false nach Durchlauf
    {
        //Mit Index //qDebug()<<q.value(0).toInt()<<q.value(1).toString()<<q.value(2).toInt() 
        <<q.value(3).toInt();
        //Mit Feld qDebug()<<q.value("id").toInt()<<q.value("name").toString()<<q.value("age").toInt() 
        <<q.value("Punktzahl").toInt();
    }

Dies ist das Ende dieses Artikels über die Verbindung von QT mit einer MySQL-Datenbank. Weitere relevante Inhalte über die Verbindung von QT mit einer MySQL-Datenbank finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • So verwenden Sie QtSql zum Herstellen einer Verbindung zur MySql-Datenbank in PyQt
  • So verwenden Sie Qt, um unter Ubuntu Linux eine Verbindung zu einer MySQL-Datenbank herzustellen
  • Python3+PyQt5-Datenbankprogrammierung – Beispiele hinzufügen, löschen und ändern
  • Python3+PyQt5 mit Datenbanktabellenansicht
  • Python3+PyQt5 mit Datenbankfensteransicht

<<:  Zusammenfassung der CSS-Farbverlaufseffekte (linearer Farbverlauf und radialer Farbverlauf)

>>:  Erste Schritte Tutorial für Anfänger: Domänennamenauflösung und Bindung

Artikel empfehlen

CSS-Animation kombiniert mit SVG zur Erzeugung eines Energieflusseffekts

Der endgültige Effekt ist wie folgt: Die Animatio...

So erstellen Sie dynamische QML-Objekte in JavaScript

1. Objekte dynamisch erstellen Es gibt zwei Mögli...

Was ist Software 404 und 404-Fehler und was ist der Unterschied zwischen ihnen

Zunächst einmal: Was ist 404 und Soft 404? 404: Ei...

Detaillierte Erklärung zur Verbindung von Java mit Mysql Version 8.0.18

In Bezug auf die Verbindungsmethode zwischen Java...

Webdatenspeicherung: Cookie, UserData, SessionStorage, WebSqlDatabase

Plätzchen Dies ist eine Standardmethode zum Speic...

Mac VMware Fusion CentOS7 Konfiguration statisches IP-Tutorial-Diagramm

Inhaltsverzeichnis Installieren Sie CentOS7 Konfi...

Beispielcode zum automatischen Umbrechen des Pre-Tags

Das Pre-Element definiert vorformatierten Text. In...

Eine kurze Analyse der Grundkonzepte von HTML-Webseiten

Was ist eine Webseite? Die Seite, die nach dem HT...