mir wurde von einem Benutzer meines Projektes, eine Lagerverwaltung (opensource) https://sites.google.com/site/robertewert/,
nach dem er ein Update seiner Linux-Dispo durchführte, Probleme mit meinem Programm bezüglichder der Datenbankverbindung gemeldet.
Konkret geht es um eine SQLite 3-Datenbank und QSqlDatabase. Ich habe eine Zeit lang nicht an dem Projekt gearbeitet und meine letzten Arbeiten
am Projekt liefen mit Version von Qt 5.7 auch tadellos. Ich bin dem nachgegangen und habe feststellen müssen, das neuere Versionen von QT
die Fehlermeldungen:
Code: Alles auswählen
QSqlDatabasePrivate::database: requested database does not belong to the calling thread.
QSqlQuery::prepare: database not open
12:37:07: C:\Users\rober\Desktop\progge
Zum Aufbau des Programmes:
Code: Alles auswählen
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
virtual void closeEvent(QCloseEvent *event);
private:
Ui::MainWindow *ui;
public:
int m_iTimerId;
CWorkThread m_thread;//work thread
CDbConnection m_db;//database interface//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Code: Alles auswählen
class CDbConnection
{
private:
[b]QSqlDatabase m_db;//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!![/b]
befindet sich in der Klasse CDbInterface. Sämtliche Eingabefenster und auch der Workthread haben Zugriff auf die Intanz von CDbInterface
im Mainwindow mittels eines Zeigers.
Der Quellcode ist auf meiner homepage verfügbar, Version 0.34_4. Hat jemand eine Idee für eine Lösung meines Problemes, danke.
Liebe Grüße Robert