Java UCAExc:::3.0.7用户缺少权限或未找到对象:SLIPSET

Java UCAExc:::3.0.7用户缺少权限或未找到对象:SLIPSET,java,sql,ms-access,jdbc,ucanaccess,Java,Sql,Ms Access,Jdbc,Ucanaccess,我在这个网站上浏览过类似的帖子,但建议的答案似乎都不起作用。我正在编写一个使用SQL与Access数据库交互的java程序。我已成功连接到数据库并从中提取信息。但是,我需要更新数据库,我一直遇到这个错误 UCAExc:::3.0.7用户缺少权限或未找到对象:SLIPSET 为什么我无法成功更新Access数据库 以下是与更新相关的代码 String sqlSlip ="UPDATE Slip" + "SET slipOpen = 0 AND boatID =?"

我在这个网站上浏览过类似的帖子,但建议的答案似乎都不起作用。我正在编写一个使用SQL与Access数据库交互的java程序。我已成功连接到数据库并从中提取信息。但是,我需要更新数据库,我一直遇到这个错误

UCAExc:::3.0.7用户缺少权限或未找到对象:SLIPSET

为什么我无法成功更新Access数据库

以下是与更新相关的代码

String sqlSlip ="UPDATE Slip" +
                "SET slipOpen = 0 AND boatID =?" +
                "WHERE slipNumber = ?";

PreparedStatement slipUpdate = connection.prepareStatement(sqlSlip);
slipUpdate.setDouble(1, boatIDdub);
slipUpdate.setDouble(2, rs.getInt("slipNumber"));

ResultSet updateSlip = slipUpdate.executeQuery();

String sqlCustomer = " INSERT INTO Customer(customerLName, customerFName, slipNumber, boatID, customerNumber)" +
                     "VALUES (?, ?, ?, ?, ?)";

PreparedStatement custUpdate = connection.prepareStatement(sqlCustomer);
custUpdate.setString(1,custLName);
custUpdate.setString(2, custFName);
custUpdate.setDouble(3, rs.getInt("slipNumber"));
custUpdate.setDouble(4, boatIDdub);
custUpdate.setDouble(5, customerNumber);

ResultSet updateCust = custUpdate.executeQuery();
connection.close()

如果要检查
sqlSlip
字符串的内容,您会看到它包含

更新SlipSET slipOpen=0和boatID=?其中slipNumber=?
您需要在每个字符串片段的末尾添加一个空格,并使用逗号而不是

String sqlSlip=“更新Slip”+
设置slipOpen=0,boatID=+
“其中slipNumber=?”;
。。。因此字符串包含

updateslip SET slipOpen=0,boatID=?其中slipNumber=?
还要注意,要执行插入查询,您需要使用
.executeUpdate()
,而不是
.executeQuery()