Win a copy of 97 Things Every Java Programmer Should Know this week in the Java in General forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
  • Campbell Ritchie
  • Paul Clapham
  • Jeanne Boyarsky
  • Junilu Lacar
  • Henry Wong
  • Ron McLeod
  • Devaka Cooray
  • Tim Cooke
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Frits Walraven
  • Tim Holloway
  • Carey Brown
  • Piet Souris
  • salvin francis
  • fred rosenberger

entry removal from DB

Ranch Hand
Posts: 46
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
trying to delete an entry from my database based on a button click but i am getting an error. here's my code and the error message
java.sql.SQLException: Illegal operation on empty result set.
at com.mysql.jdbc.SQLError.createSQLException(
at com.mysql.jdbc.SQLError.createSQLException(
at com.mysql.jdbc.SQLError.createSQLException(
at com.mysql.jdbc.ResultSetImpl.checkRowPos(
at com.mysql.jdbc.UpdatableResultSet.checkRowPos(
at com.mysql.jdbc.ResultSetImpl.getInt(
at com.mysql.jdbc.ResultSetImpl.getInt(
at mm.main.moviemethod.actionPerformed(
at javax.swing.AbstractButton.fireActionPerformed(
then here is my code
Posts: 25594
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
At line 10 your query returns a ResultSet. It has no rows in it.

At line 11 you call next() on that ResultSet; it returns false, meaning there are no more rows to read, but you ignore that.

Then at line 13 you try to read something from the current row, but there is no current row, so you get an exception.

So, the first problem is that your query returns zero rows. It's possible that is something you should be expecting, and if so then you should write your code appropriately. If not, then the way you build your query is wrong. At any rate I would strongly recommend you learn how to use PreparedStatement, instead of building your query by concatenating strings. Much less subject to errors and also much less subject to SQL injection attacks which could damage your database.

One other thing: if you want to add one to a column in a table (which is what your code looks like), you have chosen a very roundabout way of doing that. Here's a much easier way to do that:

straws are for suckers. tiny ads are for attractive people.
Devious Experiments for a Truly Passive Greenhouse!
    Bookmark Topic Watch Topic
  • New Topic