我正在开发一个项目,希望我将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);
答案 0 :(得分:1)
您似乎正在尝试使用&符号字符&
),您应该使用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.");
}
答案 1 :(得分:1)
我完全同意。当您执行更新时,我建议您使用' statement.executeUpdate(查询)'。