方法名:
public boolean delete(Integer OrderId)
{
ResultSet Reset =null;
boolean IsDel = false;
try
{
pstmt_OrderId=SchemaConn.prepareStatement("select * from "+TabName_EtlSchema+" where order_id= ? ",ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
pstmt_OrderId.setInt(1, OrderId);
Reset=pstmt_OrderId.executeQuery();
System.out.println("测试:断点");
while(Reset.next())
{
System.out.println(Reset.getString("etlname"));
//Reset.deleteRow();
//IsDel=Reset.rowDeleted();
}
Reset.close();
}
catch (Exception e)
{
System.out.println("TbEtlSchema.delete(OrderId),异常为:"+e.getMessage());
}
return IsDel;
}目的是先判断数据是否存在,如果存在就删除。
测试:断点
XXX名称
TbEtlSchema.delete(OrderId),异常为:对只读结果集的无效操作: deleteRow,在select 加入for update 结果提示问题为TbEtlSchema.delete(OrderId),异常为:ORA-01002: fetch out of sequence,连设置的断点都没有到,
是哪的问题啊
public boolean delete(Integer OrderId)
{
ResultSet Reset =null;
boolean IsDel = false;
try
{
pstmt_OrderId=SchemaConn.prepareStatement("select * from "+TabName_EtlSchema+" where order_id= ? ",ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
pstmt_OrderId.setInt(1, OrderId);
Reset=pstmt_OrderId.executeQuery();
System.out.println("测试:断点");
while(Reset.next())
{
System.out.println(Reset.getString("etlname"));
//Reset.deleteRow();
//IsDel=Reset.rowDeleted();
}
Reset.close();
}
catch (Exception e)
{
System.out.println("TbEtlSchema.delete(OrderId),异常为:"+e.getMessage());
}
return IsDel;
}目的是先判断数据是否存在,如果存在就删除。
测试:断点
XXX名称
TbEtlSchema.delete(OrderId),异常为:对只读结果集的无效操作: deleteRow,在select 加入for update 结果提示问题为TbEtlSchema.delete(OrderId),异常为:ORA-01002: fetch out of sequence,连设置的断点都没有到,
是哪的问题啊
pstmt_OrderId=SchemaConn.prepareStatement("select * from "+TabName_EtlSchema+" where order_id= ? "); 要么就是你数据库权限不够
我在使用 Reset.deleteRow();
的时候出的问题。