Hilfe bei Datenbank

4by4

Mitglied
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:
Erste Durchlauf.png

Nun lass ich mein programm durchlaufen und erhalte diese Tabelle:
Erste Durchlauf db.png

Nun lösche ich 2 dateien:
Zweite Durchlauf.png

Lass das Programm wieder durchlaufen:
Zweite Durchlauf db.png

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
2. Durchlauf
Java:
Row: 2

mfg
4by4
 
Zuletzt bearbeitet:
Zurück