Hey leute,
folgendes:
ich habe ein problem beim ändern der datenbank. iwie ändert mein programm nur die erste zeile in meiner datenbank.
Mein programm durchsucht einen ordner nach allen daten speichert die infos wie name, zulätzt geändert und ob die datei existiert.
Mein ordner sieht folgendermaßen aus:

Nun lass ich mein programm durchlaufen und erhalte diese Tabelle:

Nun lösche ich 2 dateien:

Lass das Programm wieder durchlaufen:

Mein programm hat nur eine zeile geändert!
*** edit
Ausgabe der Konsole in der schleife:
1. Durchlauf
2. Durchlauf
mfg
4by4
folgendes:
ich habe ein problem beim ändern der datenbank. iwie ändert mein programm nur die erste zeile in meiner datenbank.
Mein programm durchsucht einen ordner nach allen daten speichert die infos wie name, zulätzt geändert und ob die datei existiert.
Mein ordner sieht folgendermaßen aus:

Nun lass ich mein programm durchlaufen und erhalte diese Tabelle:

Nun lösche ich 2 dateien:

Lass das Programm wieder durchlaufen:

Mein programm hat nur eine zeile geändert!
Java:
public void update(ArrayList<FileInfo> files) throws SQLException {
for (int i = 0; i < files.size(); i++) {
stmt.executeUpdate("INSERT OR REPLACE INTO file "
+ "(name, date, available) VALUES (" + "'"
+ files.get(i).getName() + "', "
+ files.get(i).getLastChanges() + ", 'true')");
}
rs = stmt.executeQuery("SELECT * FROM file");
File f;
while (rs.next()) {
f = new File(path + rs.getString("name"));
System.out.println("Row: " + rs.getRow());
if (!f.exists()) {
stmt.executeUpdate("UPDATE file SET available = 'false' "
+ "WHERE name = '" + rs.getString("name") + "'");
}
}
rs.close();
}
*** edit
Ausgabe der Konsole in der schleife:
1. Durchlauf
Java:
Row: 2
Row: 3
Row: 4
Row: 5
Java:
Row: 2
mfg
4by4
Zuletzt bearbeitet: