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

Mehrere praktische Szenarien zur Implementierung der Ersetzungsfunktion in MySQL

REPLACE Syntax REPLACE(String,from_str,to_str) Da...

Tutorial zur Installation und Konfiguration der Linux CentOS MySQL-Datenbank

Hinweise zur Installation der MySQL-Datenbank, mi...

So legen Sie ein Kennwort für MySQL Version 5.6 auf dem Mac fest

MySQL kann bei der Installation festgelegt werden...

Mysql behält den vorhandenen Inhalt bei und fügt später Inhalte hinzu

Dieser Befehl ändert die Datentabelle ff_vod und ...

So verwenden Sie localStorage in JavaScript

Wenn Sie Entwickler sind und in die Welt von .NET...

Das WeChat-Applet realisiert einen mehrzeiligen Text-Scroll-Effekt

In diesem Artikelbeispiel wird der spezifische Co...

Zusammenfassung der Ausnahmen bei der MySQL-Datenbankverbindung (sammelwürdig)

Beim Bereitstellen des Projekts auf Centos ist mi...

SASS Style Programmierhandbuch für CSS

Da immer mehr Entwickler SASS verwenden, müssen w...

Preistabelle mit CSS3 implementiert

Ergebnis: Implementierungscode html <div id=&q...