通过java代码获取MySQL delete命令中的错误

Har*_*rsH 1 java mysql sql jdbc java-ee

我已经使用jdbc从表中删除记录,同时执行相同的操作,我得到了一个错误,如下所示:

java.sql.SQLException: Before start of result set
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
    at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:841)
    at com.mysql.jdbc.ResultSetImpl.getInt(ResultSetImpl.java:2674)
    at com.mysql.jdbc.ResultSetImpl.getInt(ResultSetImpl.java:2815)
    at org.apache.commons.dbcp.DelegatingResultSet.getInt(DelegatingResultSet.java:236)
    at net.ordernet.vd.lookupTable.UpdateLookupTable.deleteLookupTableRecords(UpdateLookupTable.java:118)
    at net.ordernet.vd.soap.UpdateLookupTableTool.deleteLookupTableRecords(UpdateLookupTableTool.java:50)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
Run Code Online (Sandbox Code Playgroud)

我的代码如下:1)取两个字符串来指定查询2)连接对象用于准备语句3)在'int'变量中检查更新查询的结果4)我没有使用结果集,得到了虽然结果集异常......!

try 
{
  String queryDeleteLookupTableRecords = "delete from LookupTableRecords where tableId = ?";
  String queryDeleteLookupTableRows = "delete from LookupTableRows where tableId = ?";

  PreparedStatement psDeleteLookupTableRecords = oConnection.prepareStatement(queryDeleteLookupTableRecords);
  PreparedStatement psDeleteLookupTableRows = oConnection.prepareStatement(queryDeleteLookupTableRows);
  psDeleteLookupTableRecords.setInt(1, oLookupTable.getID());
  psDeleteLookupTableRows.setInt(1, oLookupTable.getID());
  int result = psDeleteLookupTableRecords.executeUpdate();
  int result2 = psDeleteLookupTableRows.executeUpdate();
  if(result > 0 && result2 > 0)
  {
     iReturnValue = 1;
  }
  psDeleteLookupTableRecords.close();
  psDeleteLookupTableRows.close();
}
catch (SQLException oSqlException) 
{
  Log.print(oSqlException);
} 
Run Code Online (Sandbox Code Playgroud)

Boz*_*zho 6

您的问题不在您显示的代码中.你有一个resultSet.getInt(..)叫在什么地方resultSet.first().next()