Seite 1 von 1

[gelöst] Speicherzugriffsfehler bei MySQL Verbindung

Verfasst: 6. Juni 2005 15:04
von oprocopio
Hallo Leute

hab ein kleines Problem mit meiner Applikation.
In meiner Applikation arbeite ich mit einer MySQL Datenbank.

Ich habe verschiedene Frames (Widgets) die Daten aus der Datenbank anzeigen oder ändern usw....leider muss jedes Frame (Fenster) eine eigene Verbindung zur Datenbank aufbauen da ich sonst keine Daten holen kann!
Beim Öffnen des 3. Fensters (3. Verbindung zur DB) stürzt das komplette Programm mit einem Speicherzugriffsfehler ab.

Frage:
Wie kann ich beim Starten der Applikation die Verbindung zur DB herstellen und dann über alle Fenster die selbe Verbindung benutzen?
Ist es möglich?

Ps: Jedes Frame hat ein eigenes Source und Header-File. z.B mainframe.cpp, cfgfrm.cpp, usw.

Danke für eure Hilfe

orlando

Verfasst: 6. Juni 2005 15:29
von ChMaster
hi,

ich vermute mal das zu viele verbindungen offen sind.
wenn du jetzt frame1 (Widget1) öffnest wird eine
verbindung zu DB hergestellt und daten herrausgeholt
btw geschrieben usw.

wenn es immer die selbe db ist must du mit hoher warscheinlichkeit
auch die verbindung wieder trennen.
Frage:
Wie kann ich beim Starten der Applikation die Verbindung zur DB herstellen und dann über alle Fenster die selbe Verbindung benutzen?
Ist es möglich?
ganz normal wie du sie bei deinem widget öffnest und in deiner
anwendung nachfragen ob sie besteht, wenn nicht öffnen usw.

Verfasst: 6. Juni 2005 16:36
von oprocopio
danke für die prompte antwort....

hatte anscheinend einen groben überlegungsfehler gemacht....das problem scheint sich nun behoben zu haben...

im hauptfenster erstelle ich meine Datenbankverbindung via QSqlDatabase::addDatabase() und dann in jedem weitern Fenster benutze ich die selbe Verbindung mit QSqlDatabase::database()

merci