[英]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.