Exception on resultset

7 views
Skip to first unread message

Rahul

unread,
Apr 15, 2009, 5:04:42 AM4/15/09
to rife-users
IS there a way for checking out the resultset for size.

I am doing something like this


select.from(TABLE_BOOKED_ROOMS).where("ROOM_room_id = " + room_id +
"");


String result = (String)manager.executeQuery(select, new
DbResultSetHandler() {
public Object concludeResults(DbResultSet resultset)
throws SQLException
{


resultset.next();

return resultset.getString("bookedroom_id");
}
});

However if booked_room table dosnt have any record for the given query
then it throws SQl exception java.sql.SQLException: Illegal operation
on empty result set.

Is there any way of checking out the size of resultset or may be other
way of doing it?

Geert Bevin

unread,
Apr 15, 2009, 5:07:41 AM4/15/09
to rife-...@googlegroups.com
http://rifers.org/docs/api/com/uwyn/rife/database/DbResultSet.html#hasResultRows()
--
Geert Bevin
Terracotta - http://www.terracotta.org
Uwyn "Use what you need" - http://uwyn.com
RIFE Java application framework - http://rifers.org
Flytecase Band - http://flytecase.be
Music and words - http://gbevin.com

Rahul

unread,
Apr 15, 2009, 5:25:44 AM4/15/09
to rife-users
yes .. got it...

thanks

On Apr 15, 2:07 pm, Geert Bevin <gbe...@uwyn.com> wrote:
> http://rifers.org/docs/api/com/uwyn/rife/database/DbResultSet.html#ha...()
>
> On 15 Apr 2009, at 11:04, Rahul wrote:
>
>
>
>
>
> > IS there a way for checking out the resultset for size.
>
> > I am doing something like this
>
> > select.from(TABLE_BOOKED_ROOMS).where("ROOM_room_id = " + room_id +
> > "");
>
> >    String result = (String)manager.executeQuery(select, new
> > DbResultSetHandler() {
> >            public Object concludeResults(DbResultSet resultset)
> >            throws SQLException
> >            {
>
> >                    resultset.next();
>
> >                    return resultset.getString("bookedroom_id");
> >            }
> >    });
>
> > However if booked_room table dosnt have any record for the given query
> > then it throws SQl exception java.sql.SQLException: Illegal operation
> > on empty result set.
>
> > Is there any way of checking out the size of resultset or may be other
> > way of doing it?
>
> --
> Geert Bevin
> Terracotta -http://www.terracotta.org
> Uwyn "Use what you need" -http://uwyn.com

Josh Hansen

unread,
Apr 15, 2009, 2:48:45 PM4/15/09
to rife-...@googlegroups.com
Hi Rahul,

Geert already answered your question (i.e. "Use
DbResultSet.hasResultRows()), so you're good there.

As an extra tip, instead of using:
------
select.from(TABLE_BOOKED_ROOMS).where("ROOM_room_id = " + room_id + "");
------
you should consider using:
------
select.from(TABLE_BOOKED_ROOMS).where("ROOM_room_id", "=", room_id);
------

This way your code will be safe from an SQL injection attack. If
'room_id' is an int or Integer, this is less of an issue, but it's still
a good default practice, and it's critical when you are using a String. :)

Josh
--
Joshua Hansen
Up Bear Enterprises
(541) 760-7685
Reply all
Reply to author
Forward
0 new messages