S
saudade
Gast
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/dem ResultSet 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
Code:
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.
" + 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/dem ResultSet 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