Forums Register Login

Help Regarding ResultSetMetaData

+Pie Number of slices to send: Send
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?
+Pie Number of slices to send: Send
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:
t1c1
t1c2
t2c2
Good Luck,
Avi.
my overalls have superpowers - they repel people who think fashion is important. Tiny ad:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com


reply
reply
This thread has been viewed 986 times.
Similar Threads
DB2 700 and 701 - Test Sample
Get results from user defined query
result set access with multiple tables, same column name
db2 - 703 certification
hql delete join
More...

All times above are in ranch (not your local) time.
The current ranch time is
Apr 16, 2024 00:13:21.