Jens Holzkämper: DB abfrage von Java geht irgendwie nicht

Beitrag lesen

Tach,

try {
         Statement stmt2=(Statement) con.createStatement();
        
             result = stmt2.executeQuery("SELECT * FROM csp WHERE CustomerID="2132353260800702039"");
            // int rs=stmt.executeUpdate(bef);
             System.out.println("test1");
System.out.println("result:"+result.getString("CSP"));
   stmt.close();
   con.close();

} catch (Exception ex) {
             System.out.println("Error during access csp" + "\n" + ex.getMessage());

}


>   
>   
> Da ist mein Code und gibt mir:  
> Error during access csp  
> Before start of result set  
>   
> Als Fehler meldung :)  
> Hab jemand eine idee was ich da falsch gemacht habe?  
  
1\. du fängst zu viele Exceptions auf einmal ab und behandelst sie schlecht, „catch (Exception ex)“ ist häufig problematisch, da nicht weit genug durchdacht.  
  
2\. Du gibst uns keine Information in welcher Zeile der Fehler auftritt und welche Art Exception erzeugt wird, vermutlich da du die Information selber nicht hast, verwende dazu „ex.printStackTrace();“ in deinem Catch-Block.  
  
3\. Das Schließen der Verbindung sollte unbedingt in einen finally-Block.  
  
4\. Du schließt das Objekt stmt in einem Block, der nichts mit diesem Objekt zu tun hat.  
  
5\. Du hast den zweiten Absatz in der [Doku über ResultSet](http://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html) übersehen:  
„A ResultSet object maintains a cursor pointing to its current row of data. Initially the cursor is positioned before the first row. The next method moves the cursor to the next row, and because it returns false when there are no more rows in the ResultSet object, it can be used in a while loop to iterate through the result set. “  
  
(6.) Da ich vermute, dass die ID nicht dauerhaft statisch im Quelltext stehen wird, solltest du dir gleich [Prepared Statements](http://docs.oracle.com/javase/7/docs/api/java/sql/PreparedStatement.html) ansehen, um Sicherheitslücken zu vermeiden.  
  
mfg  
Woodfighter