Auf Thema antworten

[c] Statement stmt = conn.createStatement();[/c] und[c]stmt.executeUpdate(helper1);[/c] werfen evtl eine Exception, dein Block muss also so ausehen:


[code=Java]

    try{

                Statement stmt = conn.createStatement();

                String helper1 = "DELETE FROM USER WHERE name = '"+loginname+"'";      

                stmt.executeUpdate(helper1);

    } catch (SQLException e){

                e.printStackTrace();

    }

[/code]


Evtl macht es auch sinn in einem finally block das Statement zu schließen


[code=Java]

        Statement stmt;

        try {

            stmt = conn.createStatement();

            String helper1 = "DELETE FROM USER WHERE name = '"+loginname+"'";

            stmt.executeUpdate(helper1);

        } catch (SQLException e) {

            e.printStackTrace();

        } finally {

            stmt.close();

        }

[/code]


und last but not least: du solltest lieber PreparedStatments verwenden. Die sind a) schneller wenn du sie öfter machst und b) sicher gegen SQLInjection und c) du musst auch nicht irgenwelche Zeichenketten escapen oder dich um Typcasting kümmern


[code=Java]

        PreparedStatement stmt;

        try {

            String helper1 = "DELETE FROM USER WHERE name = ?";

            stmt = conn.prepareStatement(helper1);

            stmt.setString(1, loginname);

            stmt.executeUpdate();

        } catch (SQLException e) {

            e.printStackTrace();

        } finally {

            stmt.close();

        }

[/code]



Das ResultSet ist wie der Name schon sagt die Menge deiner Ergebnisse. Da kannst du dann durchgehen:

[code=Java]

        PreparedStatement stmt;

                ResultSet rs;

        try {

            String helper1 = "SELECT username, email FROM USER WHERE name = ?";

            stmt = conn.prepareStatement(helper1);

            stmt.setString(1, loginname);

            rs = stmt.executeQuery();

                        while(rs.next()){

                String username = rs.getString(1);

                String email = rs.getString(2);

            }

        } catch (SQLException e) {

            e.printStackTrace();

        } finally {

                        rs.close();

            stmt.close();

        }

[/code]



Oben