Oracle JDBC:查询在Windows 10上返回0,但在Windows 7上运行完美

时间:2017-01-09 09:04:21

标签: java oracle jdbc

我写了一些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而不是它应该的任何值。

0 个答案:

没有答案