2017-11-26 1 views
-3

ich einen Fehler sagen „Ressourcenreferenzen werden nicht auf der Sprachstufe unterstützt‚1.8‘“ sowie das:Wie kann ich Benutzereingaben machen und eine Abfrage aus einer Datenbank speziell in der Where-Klausel vornehmen?

Error:(62, 31) java: <identifier> expected 
Error:(62, 32) java: ')' expected 
Error:(62, 33) java: '{' expected 
Error:(62, 35) java: not a statement 
Error:(62, 40) java: ';' expected 
Error:(64, 9) java: illegal start of expression 
Error:(71, 11) java: 'catch' without 'try' 
Error:(82, 5) java: illegal start of expression 
Error:(82, 13) java: illegal start of expression 
Error:(82, 36) java: ';' expected 
Error:(82, 66) java: ';' expected 
Error:(98, 2) java: reached end of file while parsing 
+0

„Ich erhalte eine Fehlermeldung“: post die ganze stacktrace – c0der

+0

@ c0der ich es hoffentlich bearbeiten diese hilft mehr. – KobiashiMaru

+0

Ihre Fehler sind Kompilierungsfehler ... Sie fehlen einige Klammern und Semikola –

Antwort

1

Sie nicht Anweisungen innerhalb einer try Ressource verwenden können, ist nur Ressource erlaubt. Und hier ist stmt.setString(1, state); eine Aussage. Also entweder Sie müssen mehr try-catch oder eine separate Methode erstellen wie folgt:

try(Connection con = getConnection(); 
       PreparedStatement stmt = createPreparedStatement(con, state); 

       ResultSet rs = stmt.executeQuery(); 
     ) 
     { 
     while (rs.next()) { 
      customers.add(new Customer(rs.getInt("CustomerID"), 
        rs.getString("Name"), 
        rs.getString("City"), 
        rs.getString("StateProvince"))); 
     } 
    }catch (SQLException e) { 
     e.printStackTrace(); 
    } 

Die Methode:

PreparedStatement createPreparedStatement(Connection con, String state) throws SQLException { 
     PreparedStatement stmt = con.prepareStatement("SELECT CustomerID, Name, City, StateProvince FROM CUSTOMER WHERE StateProvince LIKE ?"); 
     stmt.setString(1, state); 
     return stmt; 
    } 
+0

Ich bekomme NullPointerException – KobiashiMaru

+0

@KobiashiMaru Das könnte aus einem anderen Grund sein. Dieser Code wird nicht getestet, da ich nicht den gesamten Code habe. Das Problem, das Sie früher hatten, sollte durch diesen Ansatz gelöst werden. 'NullPointer' ist eine Laufzeitausnahme.Wie auch immer erhalten Sie die Ausnahme? –

+0

Es geschieht bei jdbc.FiredUpDB.readCustomerBasics (FiredUpDB.java:56) \t bei jdbc.FiredUpDB. FiredUpDB.readCustomers (FiredUpDB.java:26) \t bei jdbc.Main.main (Main.java:16) – KobiashiMaru

Verwandte Themen