JSP - Probleme mit einer Übung

Status
Nicht offen für weitere Antworten.

anfang

Neues Mitglied
Hallo!

hab gerade mit der JSP Programmierung angefangen und hab so meine probleme damit.

ich besuche gerade eine Kurs diesbezgl. und wir machen da immer so übungen.
bis jetzt gings ja immer, aber jetzt war ich 2 wochen krank und offenbar fehlt mir nun doch einiges.

ok. nun kommt ihr ins spiel, bitte helft mir.

in der übung geht es um die erweiterung einer jsp-datei:

Erweitern sie das Beispiel „ShowKundeTable.jsp“ derart, dass die Spaltennamen und die einzelnen Spalteninhalte jeder Zeile mit Hilfe einer Schleife ausgegeben werden. Dazu können sie annehmen, dass sie genau wissen aus wievielen Spalten die Tabelle Kunde besteht (5).

Es sollen aber nur jene Datensätze ausgegeben werden in denen der Kunde eine bestimmte PLZ hat. Diese Postleitzahl wird in einem Formular eingegeben und an die JSP weitergeleitet. Um einen String in eine Integer Zahl umwandeln zu können, verwenden sie die Methode parseInt z.B. int i = Integer.parseInt(plz);

Zusätzlich sollen sie (innerhalb der JSP und nicht mittels SQL) ermitteln wieviele Kunden das sind und das Ergebniss ebenfalls ausgeben.

das formular hab ich schon gemacht.

hier jetzt meine version:

Code:
<html>
<head>
<title>JDBC Example for Restaurant Table</title>
</head>
<body>
<%@ page language="java" import="java.sql.*, java.io.*" %>
<%
	String plz;
	plz = request.getParameter("plz");

	int int_plz = Integer.parseInt(plz);

    Connection con = null;
    try {
        Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();
        con = DriverManager.getConnection("jdbc:derby://localhost:1527/Buha_DB;create=false;user=idv;password=idv");
        Statement statement = con.createStatement();
        ResultSet rs = statement.executeQuery("SELECT * FROM kunde WHERE plz = 'int_plz'");
        
    
%>
        <table border="1"><tr><th>Nr</th><th>Vorname</th><th>Nachname</th><th>Strasse</th><th>Plz</th>
<%
        while ( rs.next() ) {
            out.println("<tr>\n<td>" + rs.getString(1) + "</td>");
            out.println("<td>" + rs.getString(2) + "</td>" + "</td>");
            out.println("<td>" + rs.getString(3) + "</td>" + "</td>");
            out.println("<td>" + rs.getString(4) + "</td>" + "</td>");
            out.println("<td>" + rs.getString(5) + "</td>" + "</td>\n</tr>");
        }

        rs.close();
        
    } catch (IOException ioe) {
        out.println(ioe.getMessage());
    } catch (SQLException sqle) {
        out.println(sqle.getMessage());
    } catch (Exception e) {
        out.println(e.getMessage());
    } finally {
        try {
            if ( con != null ) {
                con.close();
            }
        } catch (SQLException sqle) {
            out.println(sqle.getMessage());
        }
    }
    
    statement.close();
    conn.close();
%>

</tr>
</table>
</body>
</html>

könnt ihr mir helfen? mir ist schon bewusst, dass das für euch wohl eine lächerliche aufgabe bzw. keine herausforderung ist, jedoch für mich schon :shock:

Vielen Dank!
deranfang
 
Also das meiste hast du ja schon drin, was noch zu fehlen scheint ist
die Ausgabe der Spaltennamen (aus der datenbank nehm ich an)
die Summe aller dargestellten Ergebnisse
Die schliessende Table im Html :noe: tststs

Code:
<table border="1"><tr><th>Nr</th><th>Vorname</th><th>Nachname</th><th>Strasse</th><th>Plz</th> 
<% 
        int i=0;
        while ( rs.next() ) { 
            i++;
            out.println("<tr>\n");
            for(int j=1;j<=5;j++)    //in ner Schleife sieht das doch gleich viel doller aus als statisch
                out.println("<td>" + rs.getString(j) + "</td>"); 
            out.println("\n</tr>"); 
        } 
            out.println("<tr>\n<td colspan=5>Anzahl Ergebnisse: " + i + "<td>\n</tr></table>"); //immer schon die Tabelle zumachen  :wink:

Nur wie man sich aus dem ResultSet den Spaltennamen geben lässt weiss ich spontan nicht, aber das dürfte mit ein büsschem googeln und Forumsuche kein Stress mehr sein :wink:


PS: "mir ist schon bewusst, dass das für euch wohl eine lächerliche aufgabe bzw. keine herausforderung ist, jedoch für mich schon " Jaja, schon klar, schmier uns nur Honig ums Maul :wink:

[edit]mann bin ich heut wieder so gutherzig
Ich hab grad selbst aus neugier mal geguggt wei man übers resultset an den Spalten namen rankommt.

Stichwort ist ResultSetMetaData und hier gibts sogar noch den genauen Code wie man an den tablename rankommt. Das jedoch wirste nun auch allein schaffen, sonst lernste ja nix dabei :wink: [/edit]
 
anfang hat gesagt.:
Hallo!

hab gerade mit der JSP Programmierung angefangen und hab so meine probleme damit.

Für die Zukunft rate ich dir, JSP-Fragen im Enterprise-Unterforum zu stellen,
da dies nun wirklich keine Anfängerfrage mehr ist und du dort eher auf
die JSP-Experten triffst.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben