我可以成功连接到oracle数据库,并使用getAllTableNames()
方法打印出所有表名的列表。
我的下一个想法是过滤特定的表格并显示所有列。
我正在运行此查询(我包括整个方法。)
static void getLengths(){
String query = "SELECT column_name from user_tab_columns where table_name = '<MytableName>'"
try{
ResultSet rs = db.runQuery(query);
System.out.println(rs):
} catch (Exception ex) {
System.out.println(ex);
//Seems to be successful
}
} //End of Method
在System.out窗口中,我收到这个,这让我觉得我只需要以某种方式查看我的结果集?
oracle.jdbc.driver.DcrollableResultSet@(different number everytime I run code)
我的结果集隐藏在某个地方吗?观看它的最佳方式是什么?
答案 0 :(得分:3)
System.out.println(rs)只打印出ResultSet对象的类名和句柄。这没什么用。
您需要遍历结果集并阅读相应的字段。通常你写的东西是:
ResultSet rs=db.runQuery(query) // I don't know where this function is coming from, but okay
while (rs.next())
{
String myColumn=rs.getString("column_name");
System.out.println(myColumn);
}
rs.close();
您可能希望一般性地阅读JDBC,并查看用于Connection,Statement和ResultSet的Java Docs。
答案 1 :(得分:2)
您必须迭代ResultSet才能获取值。 做那样的事
while(rs.next()) {System.out.println(rs.getString("COLUMN_NAME"));}
答案 2 :(得分:1)
ResultSet
javadoc州
A table of data representing a database result set, which is usually generated by executing a statement that queries the database.
因此,您必须使用适当的getXXX(int index)方法,其中XXX是您的等效Java数据类型。在做其他任何事情之前不要忘记调用next()
!
阅读Retrieving and Modifying Values from Result Sets,查看您要完成的示例。
答案 3 :(得分:0)
你需要逐步调查结果集,在我的java上非常生疏,但是你可以在结果集上调用“toString()”来至少显示返回的内容,尽管它不会非常有用。 / p>
System.out.println(rs.toString())