我在使用JDBC的SQL结果集时遇到问题

时间:2017-03-17 04:25:24

标签: java sql sql-server jdbc resultset

这是我的代码:

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条件失败?

1 个答案:

答案 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