簡體   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