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

Ubuntu installiert mehrere Versionen von CUDA und wechselt jederzeit

Ich werde nicht erklären, was CUDA ist, sondern d...

Tutorial zur Installation und Verwendung von Docker MQTT

Einführung in MQTT MQTT (Message Queuing Telemetr...

Eine detaillierte Einführung in die Linux-Systemkonfiguration (Dienststeuerung)

Inhaltsverzeichnis Vorwort 1. Systemdienststeueru...

Warum MySQL-Datenbanken NULL so weit wie möglich vermeiden

Viele Tabellen in MySQL enthalten Spalten, die NU...

jQuery implementiert einen einfachen Karusselleffekt

Hallo zusammen, heute werde ich die Implementieru...

Tipps zum Implementieren mehrerer Rahmen in CSS

1. Mehrere Grenzen[1] Hintergrund: Box-Shadow, Um...

js zur Realisierung einer einfachen Scheibenuhr

In diesem Artikel wird der spezifische Code von j...

Tutorial zur Verwendung des iostat-Befehls unter Linux

Vorwort Es wird gesagt, dass sich die für Betrieb...