我正在處理數據庫分配並遇到問題。 我們需要一次打印3行,每行3行停止並提示用戶繼續或中斷。resultset.next()循環中的打印語句不打印
這是使用Java JDBC和Oracle數據庫。
if (rset.next()){
// At this point, there are reviews to show
int rinc = 0;
String seenextreviews = "y";
System.out.println("Rating - Text - Reviewer - RDate");
while(rset.next()){
// Iterate through the result set
System.out.println("Increment: " + rinc);
if(rinc % 3 == 0) {
// Displayed 3 reviews
seenextreviews = "maybe";
while(!seenextreviews.equals("y") && !seenextreviews.equals("n")){
seenextreviews = console.readLine("See next reviews (y/n)? ");
if (!seenextreviews.equals("y") && !seenextreviews.equals("n")){
System.out.println("Invalid input '" + seenextreviews + "'");
}
}
if (seenextreviews.equals("n")) {
System.out.println("Breaking...");
break;
} else {
System.out.println("Continue...");
}
}
System.out.println(rset.getInt("rating") + " - " +
rset.getString("text") + " - " +
rset.getString("reviewer") + " - " +
rset.getString("rdate"));
rinc = rinc + 1;
}
}
對於給定的代碼,所有的 '的System.out.println(值)' 中的 '如果(rset.next())' 只System.out.println("Invalid input '" + seenextreviews + "'");
和System.out.println(rset.getInt("rating")...);
打印,而一切不打印。
但是,在詢問用戶輸入之前,console.readLine(「text」)仍然會打印文本。
爲什麼我的打印語句不打印?是唯一的替代方法來更改查詢一次選擇3行,並調用多個查詢?
需要注意的是你打印,即使沒有結果的稱號。 – 2013-03-03 22:38:12
@LuiggiMendoza:是的..現在已經解決了.. – 2013-03-04 03:47:54
@Alexander:查看更新後的答案。 – 2013-03-04 03:50:17