Hallo zusammen,
folgendes Problem:
ich will Daten aus meiner Datenbank in eine Tabelle speichern.
Ich nutze also die "while(rs.next)" schleife und setze die Werte in einer "getter & setter" Klasse.
Danach hole ich mir die Werte wieder aus dieser Klasse.
Nun ist es aber so, das mir immer nur EIN Wert gespeichert wird und zwar de letze aus der DB.
Es ist also egal wieviel Einträge ich in meiner DB habe, nur der letzte davon wird in der Tabelle angezeigt.
(Übrigens auch beim traditionellen System.out.println...")
Danke für eure hilfe.
Hier die Codes:
--->Es geht mir also nur um die While Schleife - wieso diese nur eine Wert speichert ;-)
folgendes Problem:
ich will Daten aus meiner Datenbank in eine Tabelle speichern.
Ich nutze also die "while(rs.next)" schleife und setze die Werte in einer "getter & setter" Klasse.
Danach hole ich mir die Werte wieder aus dieser Klasse.
Nun ist es aber so, das mir immer nur EIN Wert gespeichert wird und zwar de letze aus der DB.
Es ist also egal wieviel Einträge ich in meiner DB habe, nur der letzte davon wird in der Tabelle angezeigt.
(Übrigens auch beim traditionellen System.out.println...")
Danke für eure hilfe.
Hier die Codes:
Java:
package database;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.simple.JSONObject;
public class getData extends HttpServlet {
private static final long serialVersionUID = 1L;
Connection con;
Statement stmt;
ResultSet rs;
Setzen setze = new Setzen();
int zeilen;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/ausgaben","***","***");
stmt = con.createStatement();
rs = stmt.executeQuery("SELECT * FROM ausgaben");
ResultSetMetaData meta = rs.getMetaData();
zeilen = meta.getColumnCount();
while(rs.next())
{
setze.setAusgaben(rs.getString("Ausgaben"));
setze.setVom(rs.getString("vom"));
setze.setPreis(rs.getString("Preis"));
}
rs.close();
stmt.close();
con.close();
}catch(Exception e)
{
e.printStackTrace();
}
System.out.println(setze.getAusgaben());
PrintWriter out = response.getWriter();
String data = "{\"sEcho\":" + 3 + ",\"iTotalRecords\":" + zeilen + ", \"iTotalDisplayRecords\":" + zeilen + ",\"aaData\":[["+"\""+setze.getAusgaben()+"\""+","+"\""+setze.getVom()+"\""+","+"\""+setze.getPreis()+"\""+"]]}";
System.out.println(data);
out.print(data);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
Java:
package database;
public class Setzen {
String Ausgaben;
String vom;
String Preis;
public String getAusgaben() {
return Ausgaben;
}
public void setAusgaben(String ausgaben) {
Ausgaben = ausgaben;
}
public String getVom() {
return vom;
}
public void setVom(String vom) {
this.vom = vom;
}
public String getPreis() {
return Preis;
}
public void setPreis(String preis) {
Preis = preis;
}
}
--->Es geht mir also nur um die While Schleife - wieso diese nur eine Wert speichert ;-)
Zuletzt bearbeitet: