Qt 5.2.1 MySQL SQL Driver installieren [SOLVED]
-
wrote on 24 Mar 2014, 15:40 last edited by
Das Klingt interessant :-)
Du eine andere Frage noch. Woher bekomme ich den 8-stelligen namen wenn es mit "MySQL Server 5.6" nicht funktioniert? Weist du das Zufällig? -
wrote on 24 Mar 2014, 15:49 last edited by
Soweit ich weiß, gibt es eine Option im dir-Befehl.
Aber zur Not kannst du das auch berechnen:
Es werde die ersten 6 Buchstaben - ohne Leerzeichen - verwendet, dann die Tilde ~ und fortlaufende Ziffern, beginnend mit 1.
Wahrscheinlich ist das MYSQLS~1
Viel Erfolg -
wrote on 24 Mar 2014, 15:57 last edited by
Ich weis nicht was ich falsch mache :-( es will einfach nicht funktionieren ;-(
-
wrote on 24 Mar 2014, 16:02 last edited by
Hab jetzt zwei neue Programme gemacht. Eins geht und das andere nicht. Das kann ja nicht so schwer sein :-(
-
wrote on 24 Mar 2014, 16:07 last edited by
Kannst du denn keinen Unterschied erkennen zwischen den beiden Programmen?
Ich würde die beiden Stück für Stück verkleinern, bis nur noch minimale Datenbank-Funktionen vorhanden sind - dadurch müsstest du dem Fehler auf die Spur kommen.
Was tun die beiden Programme? -
wrote on 24 Mar 2014, 16:25 last edited by
Mit einem Projekt gehe ich über das Menü auf ein Dialog und in diesem wird eine table mittels button in ein tableView angezeigt und sagt mir Driver not loaded Driver not loaded
Die pro: @QT += core gui sql@
Include:@ #include <QtSql>@
Datenbank:@QSqlDatabase db1;
bool dbOpen()
{
db1=QSqlDatabase::addDatabase("QMYSQL");
db1.setDatabaseName("baur_test_dbo");
db1.setHostName("10.211.55.6");
db1.setPort(3306);
db1.setUserName("test");
db1.setPassword("server");
if(!db1.open())
return false;
else
return true;
}
void dbClose()
{
db1.close();
}
@Das andere Programm startet mit dem MainWindow mit TableView und Button und lädt mir die Table im TableView ohne Probleme.
pro: @QT += core gui sql@
include: @#include <QtSql>@
Datenbank:@QSqlDatabase mydb1;
bool openDatabase()
{
mydb1 = QSqlDatabase::addDatabase("QMYSQL");
mydb1.setHostName("10.211.55.6");
mydb1.setDatabaseName("baur_test_dbo");
mydb1.setPort(3306);
mydb1.setUserName("test");
mydb1.setPassword("server");
if(!mydb1.open())
return false;
else
return true;
}void closeDatabase() { mydb1.close(); }
@
Wenn ich bei diesem Programm in Qt/5.2.1/mingw/.../sqldrivers die mysql dll´s herausschneide funktioniert dieses Programm nicht. Also hat er sie theroretisch doch erkannt?
-
wrote on 24 Mar 2014, 16:47 last edited by
Du hast recht, die dlls werden sicher gefunden und verwendet. Und das ist mehr als die halbe Miete!
Ich vermute, dass dein Problem jetzt "nur noch" an dem Dialog liegt, mit dem du im ersten Beispiel die Datenbank öffnest.Zum Absichern würde ich jetzt versuchen, das erste Programm ohne den Dialog zum Laufen zu bringen. Dann solltest du dir im Qt-Beispiel SQL Browser die Verbindung Dialog zur Browser-Klasse anschauen.
@
QSqlTableModel *model = new CustomModel(table, connectionWidget->currentDatabase());
@ -
wrote on 24 Mar 2014, 16:57 last edited by
Ich hab mal bei Dropbox die Programme in einem Zip getan:
"Hier":https://www.dropbox.com/s/95gi1tpalpodp73/Desktop.rar
Mit dem Beispiel komme ich noch nicht so klar :-(
-
wrote on 24 Mar 2014, 20:36 last edited by
Ich denke, ich habe den Fehler gefunden:
Im Projekt database öffnest du mit
@
if(!openDatabase())
ui->statusLabel->setText("Error");
else
ui->statusLabel->setText("Connected...");
@
die Datenbank.Das fehlt - wenn ich es richtig sehe - im Projekt Biodate.
Füge doch in
@void Anzeigen::on_anzeigenButton_clicked()@den dbOpen() ein.
-
wrote on 24 Mar 2014, 21:39 last edited by
Also bei Database im Projekt funktioniert es ja. Nur im anderen Funktioniert es nicht :-( ist ja nicht mein erstes Projekt mit SQL aber hier versteh ich die fehler nicht
-
wrote on 24 Mar 2014, 21:39 last edited by
Oder meinst du das andere Projekt?
-
wrote on 24 Mar 2014, 21:40 last edited by
Also habe im anderem Projekt folgendes gemacht:
@void Anzeigen::on_anzeigenButton_clicked()
{
MainWindow main;
main.db1.open();
QSqlQuery *qry = new QSqlQuery(main.db1);
QSqlQueryModel *model = new QSqlQueryModel();
qry->prepare("select * from strom");
if(qry->exec())
{
model->setQuery(*qry);
ui->tableView->setModel(model);
}
else
QMessageBox::critical(this,"ERROR",qry->lastError().text());
}@funktioniert trotzdem nicht und bringt den Fehler das er die Driver nicht gefunden wurde
-
wrote on 24 Mar 2014, 21:52 last edited by
Du solltest in deinem Biodate Projekt den Eintrag wie im Database Projekt setzen (nur dbOpen statt openDataBase):
@
if(!dbOpen())
ui->statusLabel->setText("Error");
else
ui->statusLabel->setText("Connected...");
@Dann ist die Datenbank geöffnet und du kannst deine queries ausführen.
-
wrote on 24 Mar 2014, 21:58 last edited by
Tatsache :-)
wie kann das sein? -
wrote on 25 Mar 2014, 00:53 last edited by
Es funktioniert wirklich ohne Probleme :-) vielen lieben dank für deine hilfe.
Darf man dich ein zwei Dinge vielleicht noch fragen?Gruß
-
wrote on 25 Mar 2014, 08:52 last edited by
Das freut mich wirklich sehr!
Klar kannst du mich noch ein paar Dinge fragen, vielleicht stellst du einfach einen neuen Thread ein.
Den vorhandenen solltest du mit [SOLVED] kennzeichnen, dazu bitte den ersten Post bearbeiten.
Bis zum nächsten Mal! :-) -
wrote on 25 Mar 2014, 09:18 last edited by
Für deine Hilfe sage ich recht herzlichen Dank :-)
Das mit Solved wollte ich noch erledigen habe es aber gestern vergessen da dies so gut funktioniert hat :-D
Aber was mich noch interessieren würde ob es schon einen guten Thread gibt der das Thema Drucken behandelt :-) -
wrote on 25 Mar 2014, 09:43 last edited by
Ich habe noch keinen Thread zum Thema Drucken gesehen.
Du solltest mal unter QPainter/QPrinter suchen.
Mit dem Thema muss ich mich in den nächsten Tagen etwas intensiver beschäftigen...
Für den Einstieg ist in der Qt Hilfe das Thema Qt Print Support empfehlenswert und hier für sofortige Ergebnisse das Kapitel QWidget::render - damit kannst Du beliebige Widgets auf den Drucker ausgeben. -
wrote on 25 Mar 2014, 20:29 last edited by
Oh schade. Aber werde mir das mal anschauen. Vielleicht mach ich dann wenn ich auf Probleme stoßen sollte einen Thread auf :-)
Bin glaub nicht der einzige der vielleicht das gerne nutzen möchte.Danke und Gruß
Alex ;-)
-
wrote on 26 Mar 2014, 12:53 last edited by
Hallo nochmal,
Wenn ich ein Release mache wie muss die Ordner Struktur aussehen wenn ich im Netz (LAN) verteile?
72/92