![]() |
|
|
Themen-Optionen |
|
|
Nach oben #1 |
|
Benutzer
Registriert seit: 11.08.2004
Beiträge: 55
|
Ich habe eine Verbindung zu einer Mysql - DB aufgebaut. Nun möchte ich mit verschiedenen Abfragen darauf zugreifen ( die verschiedenen Abfragen werden von verschiedenen Menüpunkten aus gestartet. Jeder dieser Menüpunkte hat ein eigenes JFrame und eine entsprechenden Verarbeitungsklasse mit dem Statement... ). Meine Frage ist nun, was muß ich machen ( bzw. wie ) das ich auf die zu beginn aufgebaute Connection zugreifen kann?
|
|
|
|
|
|
Nach oben #3 |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
|
nein @hobbit. ich glaube nicht, dass ihm das hilft.
ich denke du suchst nach einer lösung, wie du die gleiche connection-resource weiterverwenden kannst? dann wäre eventuell ein singleton genau das richtige für dich. um deine frage wirklich gut beantworten zu können benötigen wir allerdings noch die struktur, wie deine klassen zusammenhängen. bestenfalls als UML-diagramm. aber wenn du so etwas nicht hast oder nicht weißt, wie du es erstellen kannst, dann beschreib es eben mit worten. am besten so detailliert wie möglich generell kannst du es auch so machen, dass du einfach das objekt an alle klassen per konstruktor oder methode weitergibst, aber wie gesagt ... ohne struktur und zusammenhang der klassen ist das jetzt alles etwas schwierig grüße ben. |
|
|
|
|
|
Nach oben #4 |
|
Erfahrener Benutzer
Registriert seit: 16.11.2005
Beiträge: 243
|
ja man kann die Connection im Constructor übergeben. Das Problem ist nur wo startest du Deine Verbindung? Beim Start des Programms? Wenn ja hast du halt das Problem wenn deine Verbindung aus irgendwelchen Gründe gecancelt wird, musst du dein Programm neu starten.Und da man/frau ja Daten von der Ansicht trennen soll mach ich meine gesamten Verbindungsgeschichten über extra klassen die Methoden enthalten die mit den Fehlern umgehen können. d.h SQL String rein in die Klasse und ResultSet als return.
|
|
|
|
|
|
Nach oben #5 |
|
Benutzer
Registriert seit: 11.08.2004
Beiträge: 55
|
Programmstruktur:
Klasse Main: Start, ruft GUI auf ( s.u. ), enthält Windowlistener und Menü ( Menüleiste oben ) Klasse GUI: Enthält Textfelder, label... / Für die Eingabe der Logindaten, Ausgabe von Fehlermeldungen, eingabe einer sql - abfrage, ausgabe der antwort / per button wird die Klasse Connect aufgerufen Klasse Connect: Verbindungsaufbau mit den in GUI eingegebenen Login-Daten Klasse Abfrage: Aufruf per Button von GUI ( mit der SQL-Abfrage, die in das Abfrage-Feld eingegeben wurde ), Ausführung der Abfrage, Ausgabe der Abfrage in GUI ( Textarea) --> Das oben genannte hat bisher funktioniert, aber nur wenn ich die Connection static gemacht habe und mit Connect.conn = ... darauf zugegriffen habe. Ich möchte das Programm jetzt jedoch so erweitern, das man per Menü ( siehe Main ), nach erfolgtem Login, einzelne besondere Menüpunkte aufrufen kann um dann ( ohne SQL-Befehle eingeben zu müssen ) z.B.: eine Benutzer anlegen zu können. Das ganze sollte dann (wenn möglich ) über zwei Klassen erfolgen. Klasse1: Aufruf erfolgt über das Menü, ähnlich wie GUI enthält alles für Ein- und Ausgaben, Aktion wird per Button gestartet Klasse2: Ausführung der Aktion und Rückgabe des Ergebnisses an Klasse1 Wenn ich die Connection nun static hab, dann funktioniert der Zugriff auf sie von Klasse1 nicht. Mache ich sie jedoch nicht static, gehts auch nicht Was kann ich machen? |
|
|
|
|
|
Nach oben #7 | |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
|
Zitat:
zusätzlich im konstruktor. übergebe die referenz der SQL-klasse an die klassen, die es benötigen und versuche dein glück. meine antwort ist rein theoretisch. nichts getestet. um ehrlich zu sein habe ich noch nie mit einer DB (in java) gearbeitet ^^ grüße ben. |
|
|
|
|
|
|
Nach oben #9 | |||
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
|
Zitat:
Zitat:
das kannst du per konstruktor oder set-methode machen. Zitat:
ist nur ein denkansatz, so wie ich ihn gemacht hätte |
|||
|
|
|
|
|
Nach oben #10 |
|
Gast
Beiträge: n/a
|
Hi
um das Problem konkreter zu machen: Könntest Du die ggf. verkürzte Klasse posten, in der Du die Connection anlegst und eine andere, in der Du darauf zugreifen willst? Dann läßt sich das Problem ziemlich einfach lösen (sofern Du Dich nicht im J2EE-Umfeld oder im Eclipse-Framework-Umfeld bewegst - wenn Du das dafür brauchen würdest, wäre allerdings das Anfänger-Forum falsch Danke schonmal im voraus |
|
|
|
Nach oben #11 |
|
Benutzer
Registriert seit: 11.08.2004
Beiträge: 55
|
Ich glaub schön langsam check ichs ( probier jetzt dann dran rum ). Für alle Fälle poste ich hier mal die gewünschten Klassen ( Connect komplett / die andere in Kurzform Java Code:
Java Code:
|