【发布时间】:2015-05-07 21:43:29
【问题描述】:
我的总线表是空的,我正在尝试检查记录是否存在,但程序检索始终为真并跳转到真语句?!我已经用SELECT COUNT(*) FROM bus试过了,我也有同样的问题。
boolean records = stt.execute("SELECT EXISTS(SELECT 1 FROM bus) ");
if (records) {
//It is always jumping here.
return insertRecord(mac, route, latD, longD, status, con);
} else {
// The table exist without records.
stt.execute("ALTER TABLE bus AUTO_INCREMENT = 1");
return insertRecord(mac, route, latD, longD, status, con);
}
编辑 我收到此错误,但如果我删除这些行一切正常。
servlet [Jersey Web Application] 在路径 [/serverSide] 的上下文中的 Servlet.service() 引发异常 [java.lang.NullPointerException],根本原因
PreparedStatement recordPrep = con
.prepareStatement("SELECT COUNT(1) FROM bus");
ResultSet rs = recordPrep.getResultSet();
if (rs.next()) {
return insertRecord(mac, route, latD, longD, status, con);
} else {
// The table exist without records.
stt.execute("ALTER TABLE bus AUTO_INCREMENT = 1");
return insertRecord(mac, route, latD, longD, status, con);
}
【问题讨论】:
-
使用
SELECT COUNT(1) FROM bus并从ResultSet#getInt获取结果。使用结果检查表是否为空(0)或是否有数据(> 0)。 -
@LuiggiMendoza:我已经尝试过了,我收到了错误
error Column route not found,因为表格是空的,而且我有route名称的列