Hallo,
ich haber derzeit merkwürdige massive Datenbank Probleme!
Wenn ich aus der Datenbank einen Datensatz auslesen will, wird der mir in der Konsole gleich mehrfach! (3 - 7 mal) hintereinander ausgegeben.
Hier ein Beispiel:
Desweiteren kann ich nur einen Datensatz ahzeigen, also wenn ich z.B.
habe, kommt der Datensatz. Bei
kommt nichts mehr!
In dem Verwaltungsprogramm der Datenbank (MySQL) wird der eintsprechende Datensatz angezeigt. Es kann also nur an meinem Code liegen! Wer kann mir helfen, den Fehler zu finden?
ich haber derzeit merkwürdige massive Datenbank Probleme!
Wenn ich aus der Datenbank einen Datensatz auslesen will, wird der mir in der Konsole gleich mehrfach! (3 - 7 mal) hintereinander ausgegeben.
Hier ein Beispiel:
SQL:
DATABASE SELECT: com.mysql.jdbc.PreparedStatement@10db5b3f: SELECT sessionid, username, last_activity, site, ip FROM online_users LIMIT 0, 1
DATABASE SELECT: com.mysql.jdbc.PreparedStatement@73e2bda7: SELECT sessionid, username, last_activity, site, ip FROM online_users LIMIT 0, 1
DATABASE SELECT: com.mysql.jdbc.PreparedStatement@6366ce5f: SELECT sessionid, username, last_activity, site, ip FROM online_users LIMIT 0, 1
DATABASE SELECT: com.mysql.jdbc.PreparedStatement@144683c2: SELECT sessionid, username, last_activity, site, ip FROM online_users LIMIT 0, 1
DATABASE SELECT: com.mysql.jdbc.PreparedStatement@5f14a3c6: SELECT sessionid, username, last_activity, site, ip FROM online_users LIMIT 0, 1
Desweiteren kann ich nur einen Datensatz ahzeigen, also wenn ich z.B.
Code:
LIMIT 0, 1
Code:
LIMIT 1, 1
Java:
private activeUsers_spalten[] activeUsers = new activeUsers_spalten[select_count_output()];
public activeUsers_spalten[] getSessionOutput() {
int i = 0;
try {
Class.forName(db_driver);
try {
Connection db = DriverManager.getConnection(db_url, db_username, db_password);
String Statement = "SELECT sessionid, username, last_activity, site, ip FROM online_users LIMIT ?, ?"; // LIMIT: start, anzahl
PreparedStatement prepStmt = db.prepareStatement(Statement);
prepStmt.setInt(1, first);
prepStmt.setInt(2, rows_per_site);
ResultSet rs = prepStmt.executeQuery();
System.out.println("DATABASE SELECT: " + prepStmt);
while(rs.next()) {
if(rs.getString("site").indexOf("/onlineusers.faces") != -1) {
action = "Schaut, wer gerade online ist.";
} else if(rs.getString("site").indexOf("/registrierung.faces") != -1) {
action = "Registriert sich gerade.";
} else if(rs.getString("site").indexOf("/suche.faces") != -1) {
action = "Sucht auf der Seite....";
} else {
//action = rs.getString("site");
action = "Aktion unbekannt!";
}
activeUsers[i] = new activeUsers_spalten(i + 1, rs.getString("sessionid"), rs.getString("username"), action, rs.getString("ip"));
i++;
}
prepStmt.close();
rs.close();
db.close();
} catch (Exception db_error) {
System.out.println(db_error);
}
} catch (Exception db_driver_error) {
System.out.println(db_driver_error);
}
return activeUsers;
}
public int getSeite() {
String seite = req.getParameter("site");
if(seite == null) {
site = 1;
} else {
site = Integer.parseInt(req.getParameter("site"));
}
return site;
}
public int getFirst() {
first = site * rows_per_site - rows_per_site;
return first;
}
Zuletzt bearbeitet von einem Moderator: