SQL命令未正确结束

时间:2011-09-09 22:22:44

标签: java sql oracle jdbc

尝试运行运行此Oracle SQL查询的java方法

String query =
            "SELECT count(*) " +
            "FROM TASK t " +
            "WHERE t.TASK_ID = ? ";

我一直没有正确结束SQL命令

打印字符串并获得此输出 SELECT count(*)FROM TASK t WHERE t.TASK_ID =?

*编辑以反映新的更改,该方法基本上查找taskID,如果存在则返回true,否则返回false。

public boolean loadTaskId(Integer taskId) throws SQLException{

    int count = 0;

    String query =
            "SELECT count(*) " +
            "FROM TASK t " +
            "WHERE t.TASK_ID = ?";

    OraclePreparedStatement stmt = prepareStatement(query);
    stmt.setInt(1, taskId);
    ResultSet rs = stmt.executeQuery();
    if (rs.next()) { // only load the first one
        count = rs.getInt(1);
    }
    stmt.close();
    if ( count == 0) {
        return false;
    } else {
        return true;
    }
}

3 个答案:

答案 0 :(得分:8)

您可能希望修改SQL语句以包含一些空格:

String query =
        "SELECT count(*) " +
        "FROM TASK t " +
        "WHERE t.TASK_ID = ?";

这可能就是问题所在。您可以将字符串打印到System.out以进行确认。

答案 1 :(得分:1)

String query =
            "SELECT count(*) " +
            "FROM TASK t " +
            "WHERE t.TASK_ID = ?";

您没有添加空格

答案 2 :(得分:0)

弄清楚什么是错的,我没有删除库中的.jar文件,它有一些名称冲突正在进行而且没有重建。打了我自己的脑袋