2016-04-06 10 views
-3

Ich habe versucht, 4 Werte, von denen zwei eine Zeichenfolge sind. Aber ich bekomme weiterhin die NumberFormatException. Dies ist der Teil, von dem der Fehler kommt.Ich bekomme immer java.lang.NumberFormatException: Für Eingabe-String: ""

try{ 
    Class.forName("org.sqlite.JDBC"); 
    Connection connection = DriverManager.getConnection("jdbc:sqlite:C:\\Users\\Butch\\Desktop\\Database\\StudentBase.sqlite"); 
    PreparedStatement statement=connection.prepareStatement(("select FirstName+LastName,GradeLevel,ReadingLevel from Student where FirstName=? AND LastName=? AND GradeLevel=? AND ReadingLevel=?")); 
    statement.setString(1,textField.getText()); 
    statement.setInt(2,Integer.parseInt(textField_3.getText())); 
    statement.setInt(3,Integer.parseInt(textField_2.getText())); 
    ResultSet resultset=statement.executeQuery(); 
    while(resultset.next()) 
    { 
    textField.setText(resultset.getString(1)); 
    textField_3. setText(Double.toString(resultset.getInt(2))); 
    textField_2. setText(Double.toString(resultset.getInt(3))); 
    } 

} 

} 
catch(Exception e){JOptionPane.showMessageDialog(null, e); 
    } 

Gibt es eine Möglichkeit, es umzuschreiben?

+0

Der Fehler tritt auf, weil Sie versuchen, einen leeren String in eine Reihe zu machen. Die Zeilennummer sollte Ihnen genau sagen, wo das passiert. – Thilo

Antwort

-1

Versuchen: Ändern dieses:

statement.setInt(2,Integer.parseInt(textField_3.getText())); 
statement.setInt(3,Integer.parseInt(textField_2.getText())); 

Um dies:

statement.setInt(2,Integer.parseInt("0"+textField_3.getText())); 
statement.setInt(3,Integer.parseInt("0"+textField_2.getText())); 
Verwandte Themen