Der erste Schritt besteht darin, das entsprechende Datenbankmodul (sql) zur Projektdatei ( .pro ) hinzuzufügen und mehrere Klassen (auch die entsprechenden Headerdateien) einzuführen.
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ügenMethode 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:
|
<<: Zusammenfassung der CSS-Farbverlaufseffekte (linearer Farbverlauf und radialer Farbverlauf)
>>: Erste Schritte Tutorial für Anfänger: Domänennamenauflösung und Bindung
Das Feld im JSON-Format ist ein neues Attribut, d...
Ich habe Node auf dem Laufwerk D installiert und ...
Der endgültige Effekt ist wie folgt: Die Animatio...
Inhaltsverzeichnis Vorwort 1. Binärer Baum 1.1. D...
1. Melden Sie sich zunächst auf der Alibaba Cloud...
1. Objekte dynamisch erstellen Es gibt zwei Mögli...
CSS-Schrifteigenschaften definieren die Schriftfa...
Zunächst einmal: Was ist 404 und Soft 404? 404: Ei...
Nach der Installation des neuesten Windows 10-Upd...
In Bezug auf die Verbindungsmethode zwischen Java...
Plätzchen Dies ist eine Standardmethode zum Speic...
Inhaltsverzeichnis Installieren Sie CentOS7 Konfi...
Das Pre-Element definiert vorformatierten Text. In...
Vorwort HTTP und HTTPS In unserem täglichen Leben...
Was ist eine Webseite? Die Seite, die nach dem HT...