我写了一些java代码,它以excel电子表格的形式生成发票。它在我测试它的两台计算机上运行得很好,但由于某些原因它在Windows 10的机器上无法正常工作。经过一些测试,我将结果缩小到一个查询,它返回0而不是相应的值。我已经在6台不同的计算机上对它进行了测试,它在运行7的所有计算机上完美运行,但在运行Windows 10的所有计算机上查询结果为0。请注意,数据库中的所有其他查询都是100%工作,除了这是一个特殊的原因。
我完全无法理解为什么会出现这种情况,任何意见都会得到真诚的赞赏。
SQL语句:
private static final String getCountSQL = "SELECT COUNT(*) FROM BATCHES WHERE DEPARTMENT_ID = ? AND BATCH_DATE LIKE ?"
具体方法的代码:
private int getCount(int deptId) throws SQLException {
statementCount = (OraclePreparedStatement) ocon.prepareStatement(getCountSQL);
statementCount.setInt(1, deptId);
statementCount.setString(2, "%" + sDate + "%");
ResultSet rCount = statementCount.executeQuery();
int a = 0;
while (rCount.next()) {
a = rCount.getInt(1);
}
rCount.close();
statementCount.close();
return a;
}
为了清楚起见,我仔细检查了传递给预准备语句的参数,它们正是它们应该是的。结果集不为空,而是包含0而不是它应该的任何值。