Zuerst die Codezeilen,
die problematische Methode sieht so aus:
Das Problem ist, dass die ArrayList books am Ende 15 Mal (Anzahl der Datensätze in der DB) den zuletzt aus der Datenbank eingelesenen Datensatz enthält, die anderen fehlen. Die Pointe für mich besteht allerdings darin, dass während der while-Schleife alles zu funktionieren scheint, zu diesem Zeitpunkt sind sämtliche Datensätze korrekt in der ArrayList enthalten - hab's mit "System.out.println(books.size() + " " + j + " " + books.get(j).getDataset()[2].toString());" in der while-Schleife überprüft.
Was ist der Fehler, wie heißt er & wo wohnt er?
Danke im Voraus für Zweckdienliches
die problematische Methode sieht so aus:
Java:
public ArrayList<Book> buildTable(String sql)
{
Book datensatz = new Book();
ArrayList<Book> books = new ArrayList<Book>();
String[] helper = new String[7];
if (this.readDB(sql))
{
try
{
result.beforeFirst();
while(result.next())
{
for (int i= 0; i < 7; i++)
{
helper[i] = result.getString(i + 1);
}
datensatz.setDataset(helper);
books.add(datensatz);
}
}
catch (SQLException e)
{
errortext = "Es ist ein Fehler aufgetreten. <br>" + e.getMessage();
}
}
return books;
}
Das Problem ist, dass die ArrayList books am Ende 15 Mal (Anzahl der Datensätze in der DB) den zuletzt aus der Datenbank eingelesenen Datensatz enthält, die anderen fehlen. Die Pointe für mich besteht allerdings darin, dass während der while-Schleife alles zu funktionieren scheint, zu diesem Zeitpunkt sind sämtliche Datensätze korrekt in der ArrayList enthalten - hab's mit "System.out.println(books.size() + " " + j + " " + books.get(j).getDataset()[2].toString());" in der while-Schleife überprüft.
Was ist der Fehler, wie heißt er & wo wohnt er?
Danke im Voraus für Zweckdienliches
Zuletzt bearbeitet von einem Moderator: