Hallo alle,
Ich hab ein Problem und weiss nicht, ob ich einen Design-Fehler habe oder einfach Java nicht richtig anwende
Also, ich hab eine Klasse database(), das den Zugriff auf die Datenbank handhaben soll. Darin sind die Befehle für das Oeffnen und Schliessen der DB, sowie alle Abfragen enthalten. Das funktioniert auch.
Nun möchte ich von einer anderen Klasse aus Daten abfragen und diese in ein ResultSet setzen. Als Uebergabeparamater habe ich das Query, als Return das ResultSet. Auch das funktioniert.
Mein Problem ist nun aber das ResultSet. Das definiere ich in der äusseren Klasse mit
ResultSet rs = null;
und fülle es dann mit
String Query = "Select * from tabelle"
Database db = new Database()
rs = db.SelectQuery(Query)
Innerhalb der database() Klasse kann ich das ResultSet beim erstellen des Statements dann ja auch so definieren, dass ich zurück scrollen kann. Aber das rs in der 'äusseren' Klasse ist ja 'Forward Only', da ich bei 'ResultSet rs = null;' nix definieren kann. Für die weitere Anwendung will ich mich aber innerhalb des ResultSets frei bewegen können...
Was mache ich falsch? Aus Strukturgründen würde ich den Query auf die DB gerne in der database() Klasse drin lassen.
Ellegon
Ich hab ein Problem und weiss nicht, ob ich einen Design-Fehler habe oder einfach Java nicht richtig anwende
Also, ich hab eine Klasse database(), das den Zugriff auf die Datenbank handhaben soll. Darin sind die Befehle für das Oeffnen und Schliessen der DB, sowie alle Abfragen enthalten. Das funktioniert auch.
Nun möchte ich von einer anderen Klasse aus Daten abfragen und diese in ein ResultSet setzen. Als Uebergabeparamater habe ich das Query, als Return das ResultSet. Auch das funktioniert.
Mein Problem ist nun aber das ResultSet. Das definiere ich in der äusseren Klasse mit
ResultSet rs = null;
und fülle es dann mit
String Query = "Select * from tabelle"
Database db = new Database()
rs = db.SelectQuery(Query)
Innerhalb der database() Klasse kann ich das ResultSet beim erstellen des Statements dann ja auch so definieren, dass ich zurück scrollen kann. Aber das rs in der 'äusseren' Klasse ist ja 'Forward Only', da ich bei 'ResultSet rs = null;' nix definieren kann. Für die weitere Anwendung will ich mich aber innerhalb des ResultSets frei bewegen können...
Was mache ich falsch? Aus Strukturgründen würde ich den Query auf die DB gerne in der database() Klasse drin lassen.
Ellegon