繁体   English   中英

小混乱(ResultSet,OracleDB,JAVA)

[英]Little Confusion (ResultSets, OracleDB, JAVA)

我可以成功连接到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)

我的结果集是否藏在某处? 观看影片的最佳方法是什么?

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,并查看Java文档的Connection,Statement和ResultSet。

您必须遍历ResultSet才能获取值。 做这样的事情

while(rs.next()) {System.out.println(rs.getString("COLUMN_NAME"));}

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()

阅读从结果集中检索和修改值以查看您要完成的操作的示例。

您将需要逐步浏览结果集,这在我的Java上非常生锈,但是您可能可以在结果集上调用“ toString()”,以至少向您显示返回的内容,尽管它不会非常有用。

System.out.println(rs.toString())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM