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
REPLACE Syntax REPLACE(String,from_str,to_str) Da...
Überblick Wenn beim Zugriff auf einen Onlinediens...
Hinweise zur Installation der MySQL-Datenbank, mi...
MySQL kann bei der Installation festgelegt werden...
Dieser Befehl ändert die Datentabelle ff_vod und ...
Wenn Sie Entwickler sind und in die Welt von .NET...
Alibaba Cloud kauft Server Kaufen Sie einen Cloud...
Inhaltsverzeichnis Einführung Wirkung Prinzip bil...
Inhaltsverzeichnis 1. Formularereignisse 2. Mause...
Manchmal möchten wir, dass die Textfelder im Formu...
1. Verwenden Sie das Playbook von Ansible, um htt...
In diesem Artikelbeispiel wird der spezifische Co...
Beim Bereitstellen des Projekts auf Centos ist mi...
Da immer mehr Entwickler SASS verwenden, müssen w...
Ergebnis: Implementierungscode html <div id=&q...