Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Werte einer Spalte aus DB in einen Vector schreiben
mein Problem liegt darin, dass ich die Werte einer Spalte aus der Datenbank in einen Vector schreiben möchte und diese dann zur Auswahl einer ComboBox übergeben möchte.
Das erste Problem: Wie kann ich die Werte einer Spalte aus der Datenbank auslesen?
Ich bekomme immer mit rec.getString(int) die Spalten ausgelesen, aber nicht die Zeilen.
In ein Vector schreiben und an die ComboBox übergeben kann ich, aber nur dies nicht...
in diesem Thread benutzt du doch schon eine while-Schleife um alle Ergebniszeilen des Recordsets durchzugehen. Musst halt statt die Ergebnisse auszugeben diese in den Vector schreiben.
Ungefähr:
Java:
Vector<String> ergebnisse = new Vector<String>();
int i = 0;
while(rec.next()){
ergebnisse.add(reg.getString(i);
i++;
}
Also wenn ich das Einfüge, dann kommt folgende Fehlermeldung:
Java:
java.sql.SQLException: No data found
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcResultSet.getString(Unknown Source)
at KlasseMakler.selectMakler(KlasseMakler.java:133)
Also Mittlerweile bin ich beim folgenden Code gelandet:
[JAVA=42]
final Vector<String> maklers = new Vector<String>();
String data1 = "jdbcdbc:ImmoSoftware";
ResultSet rec = null;
try{
Connection conn1 = DriverManager.getConnection(data1,"","");
Statement pre2 = conn1.createStatement();
rec = pre2.executeQuery(
}catch(SQLException s){
//s.printStackTrace();
}
finally {
try {
rec.close(); // sonst gibts irgendwann "to many open cursers"!
}
catch(Exception _) {
}
}
[/code]
Also etwas verstehe ich nicht, warum gibt er mir alles aus, wenn ich maklers.add(rec.getString(1/1)); weglasse und nur die erste Zeile, wenn ich maklers.add(rec.getString(1/1)); nicht weglasse....
Das macht keinen sinn für mich...
Das Problem liegt wahrscheinlich darin, dass du in der while-Schleife, 2x hintereinander den String aus deiner DB auslesen willst.
Lass also entweder das
Code:
System.out.println(...)
weg, oder machs so:
Java:
String result;
while(rec.next()){
result = rec.getString(1);
System.out.println(result);
maklers.add(result);
}
Mir ist immer noch schleierhaft, was du mit dem "1/1" bezwecken willst. Die Methode getString erwartet int als Argument. Also sowas wie "0", "1" oder "2" etc.
"1/1" klappt nur rein zufällig, weil "1/1" = 1