这是我的代码:
ResultSet res = con.query("USE VSM; SELECT max(EmailTime) FROM Emails;");
if( ! res.next()) { lastEmailTime = new Date(0); } // if table empty set last email time to 1970
else { lastEmailTime = SQLServer.sdf.parse(res.getString(1)); } //SQL is 1-indexed
我的表当前是空的,但是else语句中的代码正在运行。我知道这是因为我得到一个关于它试图访问res.getString(1)的空指针异常。为什么if条件失败?
答案 0 :(得分:-1)
在jdbc url连接中已经定义了您使用的数据库。 您不需要为每个请求设置数据库;
ResultSet res = con.query("SELECT max(EmailTime) FROM Emails;");
if( ! res.next() || res.getString(1) == null) { lastEmailTime = new Date(0); } // if table empty set last email time to 1970
else { lastEmailTime = SQLServer.sdf.parse(res.getString(1)); } //SQL is 1-indexed