Получение ошибки в MySQL удалить команду через код Java - PullRequest
1 голос
/ 27 октября 2011

Я использовал 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)

Мой код выглядит следующим образом: 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);
} 

1 Ответ

6 голосов
/ 27 октября 2011

Ваша проблема не в коде, который вы показали.У вас есть resultSet.getInt(..) где-то перед звонком resultSet.first() или .next()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...