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
Passwort des persönlichen Kontos ändern Wenn norm...
Benutzerdefinierte Tags können in XML- und HTML-Da...
Inhaltsverzeichnis 1. Vorverarbeitung 2. Vorbehan...
Neueste Version von MySQL 8.0.22 zur Kennwortwied...
Beinhaltet den Prozess der Initialisierung des Ro...
In diesem Tutorial erfahren Sie alles über die In...
In diesem Artikel erfahren Sie, wie Sie Excel-Dat...
<br />Verwandte Artikel: 9 praktische Tipps ...
Die spezifische Verwendung der Drag & Drop-Zo...
1. MyISAM-Speicher-Engine Mangel: Keine Unterstüt...
Wenn Sie benutzerdefinierte Zabbix-Skripte zum Sa...
<br /> Wenn wir bestimmte Websites durchsuch...
Unicode-Signatur-BOM – Was ist die BOM? BOM ist di...
Die spezifische Methode zur Installation von Cent...
Vorwort Viele Freunde, die gerade mit mobilen End...