Java Mysql JDBC resultset.deleteRow不工作

Java Mysql JDBC resultset.deleteRow不工作,java,mysql,jdbc,Java,Mysql,Jdbc,我有以下问题: 无法使用resultset deleteRow函数删除表行。我的代码如下: con = SqlService.getConnection(DB.NIPO_GBS_HIGHWAY); String sqlQuery = "select vehicle,vehicle_nipo_id from vehicles where vehicle = ?"; pstm = con.prepareStatement(sqlQuery, ResultSet.TYPE_SCROLL_SEN

我有以下问题:

无法使用resultset deleteRow函数删除表行。我的代码如下:

con = SqlService.getConnection(DB.NIPO_GBS_HIGHWAY);    
String sqlQuery = "select vehicle,vehicle_nipo_id from vehicles where vehicle = ?";
pstm = con.prepareStatement(sqlQuery, ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
pstm.setString(1, scaleId);
rs = pstm.executeQuery();
if(rs.next())
{
   if(nipoId.isEmpty())
    {
        rs.deleteRow();
    }
    else
    {
       rs.updateString(2, nipoId);
       rs.updateRow(); 
    }      
    sqlQueryResult = SqlQueryResult.SQL_SUCCESS;
}
else
{ 

}

代码执行时没有抛出异常,但是当我检查数据库时,我看到行没有被删除


有什么原因吗?如何修复它?

提交更改和关闭如何

尝试添加一些调试语句。让您尝试catch,然后在catch中使用e.printStackTrace。代码执行时不会抛出异常,以执行从表中删除的查询,其中id=somevalues这是一个替代解决方案!没有给出它不能按我所希望的方式工作的原因代码执行时没有抛出异常并不意味着它是正确的。您是否确定曾经执行过rs.deleteRow,即nipoId.isEmpty是否为真?另外,你的最上面的块是空的。您可能希望在那里放置一个log语句,以检测何时到达它。