Hallo zusammen,
ihr konntet mir bereits bei vielen Fragen helfen! Deshalb hab ich mich gleich mal registriert.
Ich möchte mich mit Java auf eine Oracle Datenbank verbinden. Grundsätzlich funktioniert das schonmal.
Leider fehlen mir ein paar Basics, wie man sowas mit OOP macht.
Derzeit habe ich es so gemacht, dass ich eine Klasse erstellt habe "Datenbank", die folgende Methoden hat:
datenAuslesen(String query);
ausgabe();
Die erste Methode nutze ich um der Datenbank den Select String zu übermitteln.
Die Datensätze speichere ich in einer Liste (LinkedList).
Die zweite Methode gibt diese Liste aus.
Hier sind wir nun also bei der ersten Frage: Wie baue ich mir eine solche Datenbankklasse sinvoll auf?
Hintergrund ist, dass ich eine Software teste und diese mit Daten aus einer Datenbank füttere.
D.h. ich habe eine Java Klasse, die verschiedene Formularfelder mit Daten aus einer Datenbank füttert und dann schaut ob es funktioniert.
Mein jetzioges Problem (neben dem prinzipiellen aufbau) ist die übergabe der Liste.
Ich poste euch hierfür mal meinen Quelltext
Datenbank.java:
Die Klasse liegt im sleben Paket (bzw slebe Ebene oder wie man dazu sagt, wie meine classe ExtenTest.java).
Leider erhalte ich hier keine Ausgabe:
Nutze ich die Datenbank.java zum ausgeben der Liste funktioniert es. Nur mit der Extendtest.java funktioniert es nicht ..
Vielen dank für eure Hilfe!
EDIT: KEine Ausgabe heißt: die Konsole bleibt weiss. Keine Fehlermeldung.
Ich nutze Eclipse.
ihr konntet mir bereits bei vielen Fragen helfen! Deshalb hab ich mich gleich mal registriert.
Ich möchte mich mit Java auf eine Oracle Datenbank verbinden. Grundsätzlich funktioniert das schonmal.
Leider fehlen mir ein paar Basics, wie man sowas mit OOP macht.
Derzeit habe ich es so gemacht, dass ich eine Klasse erstellt habe "Datenbank", die folgende Methoden hat:
datenAuslesen(String query);
ausgabe();
Die erste Methode nutze ich um der Datenbank den Select String zu übermitteln.
Die Datensätze speichere ich in einer Liste (LinkedList).
Die zweite Methode gibt diese Liste aus.
Hier sind wir nun also bei der ersten Frage: Wie baue ich mir eine solche Datenbankklasse sinvoll auf?
Hintergrund ist, dass ich eine Software teste und diese mit Daten aus einer Datenbank füttere.
D.h. ich habe eine Java Klasse, die verschiedene Formularfelder mit Daten aus einer Datenbank füttert und dann schaut ob es funktioniert.
Mein jetzioges Problem (neben dem prinzipiellen aufbau) ist die übergabe der Liste.
Ich poste euch hierfür mal meinen Quelltext
Datenbank.java:
Code:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.*;
public class Datenbank {
String url;
String user;
String pass;
Statement befehl;
Connection verbindung;
ResultSet datenmenge;
String username;
public Datenbank()
{
url = "jdbc:oracle:thin:@172.******:1521:****";
user = "***";
pass = "***";
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch (Exception e)
{
System.err.println("Fehler beim Laden des Treibers.");
return;
}
try
{
verbindung = DriverManager.getConnection
(url,user,pass);
befehl = verbindung.createStatement();
}
catch (Exception e)
{
System.err.println("Verbindung zu "+ url +" fehlgeschlagen");
return;
}
}
public java.util.LinkedList datenauslesen(String query){
LinkedList liste = new LinkedList();
try
{
datenmenge = befehl.executeQuery
(query);
while (datenmenge.next())
{
username = datenmenge.getString("username");
liste.add(username);
return liste;
}
verbindung.close();
}
catch (Exception e)
{
System.err.println("Fehler beim Laden des Datensatzes");
}
return liste;
}
LinkedList ausgabe () {
LinkedList liste = new LinkedList();
liste.add("dd");
liste.add("rr /n");
//System.out.println(liste);
return liste;
}
public static void main (String[] args)
{
// java.util.LinkedList test;
//Datenbank eins = new Datenbank();
//eins.datenauslesen("SELECT id,username FROM test");
//test = eins.ausgabe();
//test.add("tkkg");
//System.out.println("Alt: \t \t" + test);
//System.out.println("Removed: \t" + test.remove(2));
//System.out.println("Neu: \t \t" + test);
}
}
Die Klasse liegt im sleben Paket (bzw slebe Ebene oder wie man dazu sagt, wie meine classe ExtenTest.java).
Leider erhalte ich hier keine Ausgabe:
Code:
public class Extendtest extends Datenbank {
public static void main(String[] args) {
//java.util.LinkedList test;
//Datenbank drei = new Datenbank ();
//test = drei.datenauslesen("SELECT id,username FROM test");
//System.out.println(test);
//System.out.println(test.size());
java.util.LinkedList test;
Datenbank zwei = new Datenbank();
test = zwei.datenauslesen("SELECT id,username FROM test");
System.out.print(test);
}
}
Nutze ich die Datenbank.java zum ausgeben der Liste funktioniert es. Nur mit der Extendtest.java funktioniert es nicht ..
Vielen dank für eure Hilfe!
EDIT: KEine Ausgabe heißt: die Konsole bleibt weiss. Keine Fehlermeldung.
Ich nutze Eclipse.