Meaningless Drivel is fun!
The moose likes JDBC and Relational Databases and the fly likes Help Regarding ResultSetMetaData 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 "Help Regarding ResultSetMetaData" Watch "Help Regarding ResultSetMetaData" New topic

Help Regarding ResultSetMetaData

Ali Gohar
Ranch Hand

Joined: Mar 18, 2004
Posts: 572
Hi All,
I have a query which gets records from different tables more than 1 as following:
String sql = "select t1.col1,t1.col2,t2.col1 from table1 t1, table2 t2 where <any condition>";

Now i get the records in the ResultSet variable.
Then i use ResultSetMetaData to get the column Name. But i returns column name with out prefix. It displays "col1" as column Name for both "t1.col1" and "t2.col1". How can i distinguish then that which table's column name is it.
I have also tried the ResultSetMetaData's getTalbeName() method but it returns empty string not the Table Name.
Can anyone tell me how can i get the column name as well as its prefix?
Avi Abrami
Ranch Hand

Joined: Oct 11, 2000
Posts: 1141

Hi Ali,
Since I am currently using an Oracle database, and since I saw no mention in your post of the database you are using, I can only hope that the following will be relevant for you. In any case, the way I overcome this problem with my Oracle database, and Oracle's (thin) JDBC driver, is to use column aliases, for example:

Of-course, the aliases are completely arbitrary. What I have used above is purely an example to help illustrate my meaning. Feel free to use any alias that you are comfortable with.
Then, using the above example, the column names returned by the "ResultSetMetaData" object (again, for an Oracle database, using Oracle's JDBC driver) will be as follows:
Good Luck,
I agree. Here's the link:
subject: Help Regarding ResultSetMetaData
It's not a secret anymore!