java日历如何返回null?
因此,通过单击jcalendar日期并按下“getevent”按钮,我能够成功地检索eventname和eventtext 但是我如何编码它,如果我点击一个没有事件的日期,它会在标签上显示“没有可用的事件”。而不是在我点击按钮后什么都不显示 我应该在其中放入什么样的if-else使用java日历如何返回null?,java,eclipse,user-interface,jframe,Java,Eclipse,User Interface,Jframe,因此,通过单击jcalendar日期并按下“getevent”按钮,我能够成功地检索eventname和eventtext 但是我如何编码它,如果我点击一个没有事件的日期,它会在标签上显示“没有可用的事件”。而不是在我点击按钮后什么都不显示 我应该在其中放入什么样的if-else使用next()一次来测试是否存在行: public void loadstuff(){ String query = "select eventname , eventtext from tblEvent wh
next()
一次来测试是否存在行:
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();
}
当然,这最多只输出1行,但这是唯一有意义的事情。如果有多个事件,您希望/希望发生什么?现在,最后一个赢了,不管最后一个是谁,只要你没有一个
orderby
子句。如果您的答案是只能有一个,那么将while
循环更改为If else
语句。无关:为什么将PreparedStatement
存储在局部变量中,而将ResultSet
存储在db
对象的字段中?ResultSet
也应存储在局部变量中。您还应该记住关闭结果集
和准备语句
,最好使用语句。
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");
}