permaculture playing cards
The moose likes JDBC and Relational Databases and the fly likes ResultSet Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Databases » JDBC and Relational Databases
Bookmark "ResultSet" Watch "ResultSet" New topic


Janardan Kelkar
Ranch Hand

Joined: May 05, 2008
Posts: 72

the above code gives me an sqlexception because the statement "rs.getString("Book_Id")" is called twice, if you see, i had to change the second call to getString("Book_Id") with this code:

why is this like this?i mean as long as i am not calling, i should be able to access a column in a given record as many times as i want...right?

[edit]Delete excess whitespace. CR[/edit]
[ August 29, 2008: Message edited by: Campbell Ritchie ]

When the compiler's not happy, ain't nobody happy.
Ankit Garg

Joined: Aug 03, 2008
Posts: 9463

rs1 = st1.executeQuery("select Author_Name from Authors where Book_Id='"+ rs.getString("Book_Id")+"'");

why don't you use

rs1 = st1.executeQuery("select Author_Name from Authors where Book_Id='"+ bookObject.getBookID()+"'");

I hope that there will an accessor method for the ID field in the Book class that you have created.

result set is like a pointer. once you get it ahead of one column you can't get back to that column....This means that you cannot go backwards in column list.....

If there is a way to get to one column again I don't know it....

SCJP 6 | SCWCD 5 | Javaranch SCJP FAQ | SCWCD Links
Campbell Ritchie

Joined: Oct 13, 2005
Posts: 46349
Don't know, but I think your topic will sit more happily on the JDBC thread, so I shall move it there.

Please tell us more about the Exception; what was its message, its SQL state and its error code.
Joanne Neal

Joined: Aug 05, 2005
Posts: 3742
The javadoc for ResultSet recommends you don't do it, so it's probably something in the database that doesn't like it. It may work okay on other databases.
For maximum portability, result set columns within each row should be read in left-to-right order, and each column should be read only once.

Ankit Garg

Joined: Aug 03, 2008
Posts: 9463

I think it's the problem of the Database Connection Driver.....
I agree. Here's the link:
subject: ResultSet
It's not a secret anymore!