2016-12-11 6 views
-1
public void loadstuff(){ 
    String query = "select eventname , eventtext from tblEvent where datecreate = ?"; 

    try { 
     PreparedStatement pst = db.conn.prepareStatement(query); 
     pst.setString(1, sdf.format(calendar.getDate())); 
     db.rs = pst.executeQuery(); 

     while (db.rs.next()){ 
      lblEventname.setText(db.rs.getString("eventname")); 
      lbleventonclick.setText(db.rs.getString("eventtext")); 
     } 




    } catch (SQLException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

enter image description herejava calendar Как я могу вернуть null?

так я смог успешно получить именем_события и eventtext, нажав на дату jcalendar и нажмите кнопку «GetEvent».

но как это сделать, чтобы, если я нажимаю на дату без события, на этикетке отображается «без события». вместо того, чтобы показывать ничего после того, как я нажму кнопку.

какого рода, если еще делать я поставил в нем

+0

Что вы ожидаете/хотите, если есть несколько событий? Прямо сейчас, последний выигрывает, в зависимости от того, что последнее дано, что у вас нет предложения ORDER BY. Если ваш ответ таков, что может быть только один, измените цикл 'while' в оператор' if-else'. – Andreas

+0

* Несвязанный: * Почему вы храните 'PreparedStatement' в локальной переменной, но' ResultSet' в поле объекта 'db'? 'ResultSet' также должен храниться в локальной переменной. Вы также должны помнить о том, чтобы закрыть как «ResultSet», так и «PreparedStatement», предпочтительнее использовать [try-with-resources] (https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html) заявление. – Andreas

ответ

0

Использование next()раз для проверки существования ряда:

db.rs = pst.executeQuery(); 
if (db.rs.next()) { 
    lblEventname.setText(db.rs.getString("eventname")); 
    lbleventonclick.setText(db.rs.getString("eventtext")); 
} else { 
    // no rows were returned 
    lblEventname.setText("No events"); 
} 

Конечно это только выходы 1 строка максимум, но это единственное, что имеет смысл в любом случае.