I am building a Java desktop app using Java Swing.
This is the select service method
public void select(int id){
String sql = "SELECT num_of_working_days FROM working_days_and_hours WHERE id = ?";
try {
connection = SQLite_Connection.connect();
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setInt(1, id);
preparedStatement.execute();
preparedStatement.close();
System.out.println("DB status 1: "+ preparedStatement.toString());
} catch (Exception ex) {
System.out.println(ex.toString());
}
}
I would like to display the result of this in a label
private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jLabel1.setText(numberOfDays.select(1));
// numberOfDays.select(1);
System.out.println("Entered: " + jTextField1.getText());
}
There is an error at
jLabel1.setText(numberOfDays.select(1));
Saying ‘void type not allowed here’.
What am I doing wrong? Appreciate any input regarding this matter. Thank you.
Advertisement
Answer
your select method definition
public void select(int id)
This returns void
Looking at the Java doc JLabel: setText(String str)
This method requires a string DataType
Hence change ur method select to return a String i.e.
public String select(int id)
also in ur method Store the result from prepared statement like below
ResultSet rs = preparedStatement.executeQuery(); // Get the result table from the q
while (rs.next()) { // Position the cursor to the result
String result = rs.getInt(1); //If ur Column is of int type
}
preparedStatement.close();
return result;