UCAExc 3.0.7 意外令牌错误

UCAExc 3.0.7 unexpected token Errors

我正在从事一个项目,希望我将 Microsoft Access 数据库集成到 Java 程序中。我已成功连接到数据库,但是我的 SQL 语句没有更新数据库。我已经定义了读取用户输入的变量,并将该信息用作 WHERE 语句的条件。我已经取出了第一个查询的部分内容并得到了积极的结果,但整个声明拒绝合作。我需要对第一个查询进行哪些更改才能使其成为 运行?

    result = statement.executeQuery("SELECT slipNumber FROM Slip WHERE (slipOpen = -1 & slipLength >= "  + boatLengthdub + "& slipDepth >= " + boatDepthdub + ")"+ "LIMIT 1" );

    statement.executeQuery("INSERT INTO Slip (slipOpen, boatID) VALUES (0," + boatIDdub + ")");

    System.out.println("Have a" + result);

您似乎在尝试使用符号字符 (&),而您应该使用 SQL 关键字 AND。您还应该使用 PreparedStatement 对象来执行 参数化查询 ,例如

String sql = 
        "SELECT slipNumber FROM Slip " + 
        "WHERE slipOpen = -1 AND slipLength >= ? AND slipDepth >= ? " +
        "LIMIT 1";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setDouble(1, boatLengthdub);  // assuming that they are Double values
ps.setDouble(2, boatDepthdub);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
    System.out.println(rs.getInt("slipNumber"));
} else {
    System.out.println("Not found.");
}

我完全同意。当您执行更新时,我建议使用 'statement.executeUpdate(query)'.