Oracle Daten einer Tabelle in Array speichern Oracle

Kenan89

Bekanntes Mitglied
Hallo,
ich habe eine GUI gebaut. Darin ist eine ComboBox enthalten, die als Wert die ID-Nummern aus einer Tabelle beinhalten soll. Jetzt habe ich mit Java bereits eine Verbindung zur Datenbank aufgebaut. Anschließend habe ich ein ArrayList erstellt, worin die ID`s gespeichert werden sollen, um später der JComboBox übergeben zu werden.
Meine Frage ist, wie lese ich die Daten aus einer Tabelle mit Java aus und gebe sie in ein Array?

EDIT:
Ich habe folgende Funktion:

Java:
public Combobox(){
		Datenbankverbindung datenbankverbindung = new Datenbankverbindung();
		try{
			Statement statement = datenbankverbindung.conn.createStatement();
			ResultSet resultset = statement.executeQuery("SELECT VID FROM VERTRAEGE");
			while(resultset.next()){
				String s = resultset.getString("");
				System.out.println(resultset);
			}
			statement.close();
			System.out.println("Fertig");
		}
		catch(Exception e){
			JOptionPane.showMessageDialog(null, "Fehler", "Fehler", JOptionPane.ERROR_MESSAGE);
		}
	}

Die Frage ist jetzt, was in die while-Schleife hineinkommt, damit ich zeile für zeile die tabelle mit der Spalte VID ausgeben kann.
 
Zuletzt bearbeitet:
N

nillehammer

Gast
Das ResultSet ist eine Abstraktion der Ergebnisse (Zeilen) einer SQL-Abfrage. Du navigierst durch die Zeilen durch Aufruf von next(). Das hast Du in Deiner while-Schleife bereits richtig gemacht. Wenn Du nun eine Zeile zu fassen hast, stecken in der Zeile 1 bis n Spalten. Darauf greifst Du entweder per Index zu (Achtug: Entgegen allen anderen Fällen beginnt hier die Zählung bei 1 und nicht bei 0!). Du kannst auch per Spaltennamen zugreifen. Das wäre in Deinem Fall wohl "VID".

Jetzt musst Du noch den Datentypen der Spalte wissen. Bei Ids wohl INT oder BIGINT. Das wären in Java int oder long. Die Zugriffsmethoden heißen entsprechend. In Code sieht das dann in etwa so aus:
Java:
List<Integer> idList = new ArrayList<Integer>();
while(resultset.next()){
      int vid = resultset.getInt(1);
      // EXCLUSIV ODER
      int vid = resultset.getInt("VID");
      idList.add(vid);
      System.out.println(vid);
}
 
N

nillehammer

Gast
Was mir grad noch einfällt: Immer schön ResultSet und Statement closen. Sonst hast Du im Zweifel ein Ressourcenleck.

//Edit: Nicht genau hingeschaut :cool:, haste ja schon!
 

Kenan89

Bekanntes Mitglied
Mittlerweile habe ich alle Zeilen einer Spalte x in eine ArrayList hereingepackt.
Nur soll diese ArrayList in ein JComboBox hinzugefügt werden, was wohl mit einem DefaultComboBoxModel funktioniert.
Meine Syntax ist so:
Java:
DefaultComboBoxModel vid_list = new DefaultComboBoxModel(vidcb.VID_content);
body.add(new JComboBox(vid_list)).setBounds(260, 145, 100, 20);

Die Erklärung:
Das Auslesen funktioniert in der Klasse die mit vidcb erstellt wurde. Darin ist die ArrayList VID_content, worin die einzelnen Zeilen gespeichert sind.
Die DefaultComboBox vid_list wird jetzt der JComboBox übergeben. Leider klappt es nicht so einfach.

Wie so oft, wird wohl etwas an der Syntax nicht stimmen.:)
 

Kenan89

Bekanntes Mitglied
So die obrigen Themen haben sich alle erledigt, doch jetzt kommt ein neues Problem:
Ich habe in Oracle einen Text geschrieben. Diesen gebe ich mit Java aus. Während ich den
Text eingebe, füge ich auch Zeilenumbrück mit der Eingabe-Taste ein. Diese ignoriert java allerdings
beim Ausgeben. Wie kann ich es so einstellen, dass es genauso ausgegeben wird, wie ich es in
Oracle eingegeben habe?

EDIT: Habe es jetzt mit TextArea gelöst. Gibt es eine bessere Methode?
 
Zuletzt bearbeitet:

Kenan89

Bekanntes Mitglied
Irgendwie kann ich mich nicht mit der Tabelle verbinden, oder er macht bei der Eintragung ein Fehler.
Mein Code:

Java:
Statement statement = db_connection.connection.createStatement();
statement.executeQuery("INSERT INTO Kunden(KID, KName) VALUES (1, 'Test')");

KID ist in Oracle als Number-Datentyp festgelegt, KNAME ist varchar...

EDIT: Reicht ein Statement oder muss man mehrere definieren? Ich habe nämlich ausser dem oben genannten executeQuery noch ein weiteres, der die Anzahl der Zeilen ausliest.
 
Zuletzt bearbeitet:

schalentier

Gesperrter Benutzer
Verwendest du irgendwelche Transaktionen?

Versuche mal das nach deinem Update Statement:
Java:
statement.executeQuery("COMMIT;");

Oder bekommst du ne Fehlermeldung/Stacktrace? Dann her damit...
 

Kenan89

Bekanntes Mitglied
Ne ich glaub mein erster Fehler war es, executeQUERY zu verwenden. Ich schätze das richtige ist executeUpdate? Das habe ich geändert, hat aber leider nichts gebracht.
 
I

irgendjemand

Gast
DML queries *data manipulation language* also queries die den inhalt der datenbank ÄNDERN gehören in executeUpdate(String) ...
executeQuery ist lediglich für "SELECT" queires verwendbar *zumindest bei standard-treibern und standard-datenbanken* da dies dir eine ergebnis-liste *resultset* returned ...
update-statements geben aber normalerweise nichts , oder höchstens den row-count der geänderten datensätze zurück *mit ein paar modifikationen auch noch auto-generated-values ... aber das führt hier zu weit*

auch solltest du stehst PreparedStatement verwenden ... das ist deutlich einfacher im umgang und lässt komplexere queries sowie daten(-typen) zu ...
 

Kenan89

Bekanntes Mitglied
Ich bin momentan dabei, die Anzahl der Zeilen in einer Tabelle zu ermitteln und in eine integer variable zu speichern:

Java:
Resultset rs = statement.executeQuery("Select COUNT (*) FROM tablexy");
if(rs.next()){
int Ergebnis = rs.getInt(1);
}

Mit while geht es nicht, da er in eine Endlosschleife gerät, also ist doch mit if richtig?
Ohne irgendeine Bedingung und lediglich mit rs.next() kommt auch nicht das richtige Ergebnis
heraus. Was habe ich falsch gemacht?

EDIT: Statement davor schon definiert. Verbindung zur Datenbank besteht.
 

Kenan89

Bekanntes Mitglied
Hallo,
wie kann ich mit rs.next() die einzelnen Zeilen in eine ObjectList adden?

Habe folgendes versucht:

Java:
while(rs.next()){
table_container.add(new Integer(rs.getString("KNAME")));
}

Es sollen natürlich nicht nur die zeilen der Spalte KNAME übernommen werden, sondern auch die Werte anderer Spalten. So würde es ja aussehen wenn ich es manuell machen würde:

Java:
				Object[][] eintraege = {
						{ new Integer(1), "Hausaufgaben", new Date(), new Date() },
						{ new Integer(2), "Müll wegbringen", new Date(), new Date() }, };

Übertragen auf rs.next() müsste es doch so aussehen in der while schleife:

Java:
 eintraege.add(
  {rs.getInt(1)},
  {(rs.getInt(2)}
);

Danke für Hilfen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Daten einer Tabelle vergleichen und ggs neuen Wert einfügen Datenbankprogrammierung 8
W Daten aus einer Datei von einem VServer auslesen Datenbankprogrammierung 1
Z Finde den Fehler: Daten aus einer Access-Datenbank lesen Datenbankprogrammierung 12
D Aktualisierung einer ListView mit Daten aus MySQL-DB Datenbankprogrammierung 5
2 MySQL Daten aus einer Array auslesen und MySQL Statment erstellen. Datenbankprogrammierung 5
E Daten einer SQL-Datenbank aus Combobox in labels schreiben Datenbankprogrammierung 6
E MySQL Befüllen einer MySQL DB mit großen Daten Datenbankprogrammierung 6
X Daten einer DatenbankTabelle in JTable darstellen Datenbankprogrammierung 13
G Daten schneller aus einer DB auslesen Datenbankprogrammierung 9
M Mit Java Data Objects Daten in einer MySQL-Datenbank manipul Datenbankprogrammierung 9
S Daten aus einer MySQL-Datenbank auslesen Datenbankprogrammierung 7
G speichern und auslesen von daten aus einer datenbank Datenbankprogrammierung 8
C Verschlüsselung von Daten in einer DB Datenbankprogrammierung 2
D Alte Daten ins neue Modell quetschen Datenbankprogrammierung 6
R Mongodb Daten werden immer überschrieben Datenbankprogrammierung 7
R Mongodb Daten in einem bestimmten Document speichern Datenbankprogrammierung 1
OnDemand Daten auf mehrere Tabellen aufteilen oder Spalten nutzen Datenbankprogrammierung 2
B Daten HSQL-DB Datenbankprogrammierung 2
V H2 ManyToMany wie speichere ich die Daten? Datenbankprogrammierung 10
thobren Projekt SQlite! Wie kann ich auf auf SQlite Daten zugreifen? Datenbankprogrammierung 4
OnDemand Daten verschlüsseln Datenbankprogrammierung 42
L Oracle Daten in Häppchen selektieren Datenbankprogrammierung 5
L Oracle Daten von Oracle zu MSSQL übertragen Datenbankprogrammierung 4
D Daten aus der Firebase-Echtzeitdatenbank abfragen und in Variablen speichern (JAVA) Datenbankprogrammierung 0
Z Ausgabe nur bestimmter Daten Datenbankprogrammierung 6
E netbeans - jsp Daten in Datenbank hinzufügen Datenbankprogrammierung 2
N Java Abfrage über GUI, Daten hinzufügen Datenbankprogrammierung 54
Kirby.exe Vorschläge zur Verschlüsselung von Daten in der DB Datenbankprogrammierung 2
T Java Spiel Daten speichern Datenbankprogrammierung 1
LimDul H2 Embedded DB und Gigabytes an Daten Datenbankprogrammierung 0
C Datenbank anlegen und über eine Website mit Daten füllen? Datenbankprogrammierung 25
R Wie mit zu viele Daten umgehen? Datenbankprogrammierung 2
F MySQL Wie speichere ich Daten zeitlich abhängig? Datenbankprogrammierung 4
T Oracle Normalisierung und Daten splitten Datenbankprogrammierung 1
JG12111989 DB-Daten werden falsch dargestellt Datenbankprogrammierung 7
K H2 Daten in die H2 console DB eintragen Datenbankprogrammierung 2
L SQLite Ändern der Daten in einem UNIQUE Feld Datenbankprogrammierung 1
S Daten von SQLite Datenbank nutzen Datenbankprogrammierung 5
P JSP - Daten aus 2 Tabellen in eine neue Tabelle einfügen Datenbankprogrammierung 1
L Oracle Daten von einem Server zum andere kopieren Datenbankprogrammierung 24
P Daten in eine mySQL Datenbank einfügen Datenbankprogrammierung 4
L MySQL Vergleichen von Array-Inhalt, Ausgabe gleicher Daten Datenbankprogrammierung 3
W Daten in Java intern abfragen Datenbankprogrammierung 1
G MySQL Java Problem: Nullpointer Exception obwohl Daten vorhanden sind? Datenbankprogrammierung 2
I MySQL Datenbankstruktur angleichen - Daten behalten Datenbankprogrammierung 7
O JDBC Daten in zwei Tabellen mit zwei foreach-Schleifen einfügen (insert into) Datenbankprogrammierung 1
P LDAP: Daten eintragen funktioniert nicht Datenbankprogrammierung 7
B MySQL LogIn Daten im Code verstecken Datenbankprogrammierung 3
O mit Multi-Thread Daten aus Datenbank lesen und schreiben Datenbankprogrammierung 22
F Daten verdichten Datenbankprogrammierung 0
B Daten aus DB in Word Dokument Datenbankprogrammierung 2
D Daten posten auf RestApi (Mongodb/NoSQL) Datenbankprogrammierung 0
I Fehler bei Ausgabe der Daten aus der DB Datenbankprogrammierung 3
OnDemand MySQL Daten aktualisieren Datenbankprogrammierung 6
D Daten von einem Server in eigenem Java-Programm benutzen Datenbankprogrammierung 6
M Vergleich von Daten in verschiedenen Tabellen Datenbankprogrammierung 1
S Daten aus Form in Datenbank nur einmal eintragen Datenbankprogrammierung 2
6 JBDC Daten verschlüsseln? Datenbankprogrammierung 2
F MySQL Daten ändern über Java Datenbankprogrammierung 3
G SQLite Daten aus SQLite DB in andere SQLite DB importieren Datenbankprogrammierung 4
H Grosse Menge an Daten in eine Datenbank Datenbankprogrammierung 32
M Daten nachträglich hinzufügen Datenbankprogrammierung 6
N HSQLDB Daten Auslesen Datenbankprogrammierung 3
O Viele Verbindungen-Exception bei insert Daten zur MySQL-Datenbank Datenbankprogrammierung 2
P MySql daten in leeren jtable übertragen Datenbankprogrammierung 5
SexyPenny90 SQL Daten sortieren und top 5 ausgeben Datenbankprogrammierung 7
L Hibernat will Daten nicht einfügen??? Datenbankprogrammierung 2
B MySQL DB Daten aktualisieren Datenbankprogrammierung 9
D MySQL Daten werden aus Datenbank gelesen, obwohl sie dort gar nicht angekommen sind Datenbankprogrammierung 8
L SQLite Daten werden nicht in die Tabelle eingefügt Datenbankprogrammierung 7
D Übersichtliche Zuweisung von Daten in Tabellen Datenbankprogrammierung 17
C ResultSet enthält nicht alle Daten Datenbankprogrammierung 4
A Problem mit Eintragen von Daten in eine Datenbank mittels DAO Datenbankprogrammierung 4
J Daten synchronisieren in Multi-Client-Anwendungen (Hibernate) Datenbankprogrammierung 6
S JPA: DB Schema ändern und Daten nicht verlieren - wie? Datenbankprogrammierung 5
T MySQL Select: Zusammenfassen von Daten und bilden von Durchschnitt? Datenbankprogrammierung 4
F Daten in die DB hinzufügen Datenbankprogrammierung 7
H Klasse welche Mysql Daten zurück gibt Datenbankprogrammierung 18
S JPA: Problem mit Update von Daten Datenbankprogrammierung 7
H Daten in/aus Datenbank schreiben Datenbankprogrammierung 2
M DropDownBoxen mit MySQL Daten füllen Datenbankprogrammierung 3
E MySQL Daten in die Datenbank eingeben via Java Programm Datenbankprogrammierung 3
F ORA 17410 Keine weiteren Daten aus Socket zu lesen Datenbankprogrammierung 2
B Daten aus Datenbank holen Datenbankprogrammierung 6
T Problem beim schreiben von daten Datenbankprogrammierung 4
N Daten aus Datenbank abfragen und anzeigen in der Praxis?? Datenbankprogrammierung 2
G MySQL Bekomme keine Daten. Datenbankprogrammierung 7
L CLOB-Daten werden beim Einfügen in die Datenbank geändert? Datenbankprogrammierung 5
G Daten aggregieren Datenbankprogrammierung 11
Gossi Oracle 2 Daten (Datum) vergleichen Datenbankprogrammierung 6
W MySQL Daten aus bestimmter Spalte lesen Datenbankprogrammierung 2
J Doppelte Daten in Spalte, nur die erste abrufen wie? Datenbankprogrammierung 15
P Daten aus MySql Datenbank lesen??? Datenbankprogrammierung 6
J Daten vergleichen Datenbankprogrammierung 10
T Designfrage: DB-Daten direkt oder verzögert speichern Datenbankprogrammierung 2
Dragonfire Daten aus jsp Datei in datenbank speichern Datenbankprogrammierung 15
A Daten von Webshop einlesen Datenbankprogrammierung 5
S Daten aus jTextfiled in DB schreiben - SQL Befehl Datenbankprogrammierung 2
T Daten aus DB in variable Zahl an Variablen speichern Datenbankprogrammierung 18
A Datenbankanbindung an mySQL und Ein-/Auslesen der Daten Datenbankprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben