我使用以下来自互联网的代码从数据库中获取数据:
ResultSet rs = statement.executeQuery();
ResultSetMetaData rsmd = rs.getMetaData();
System.out.println("querying SELECT * FROM XXX");
int columnsNumber = rsmd.getColumnCount();
while (rs.next()) {
for (int i = 1; i <= columnsNumber; i++) {
if (i > 1) System.out.print(", ");
String columnValue = rs.getString(i);
System.out.print(columnValue + " " + rsmd.getColumnName(i));
}
System.out.println(""); //<-------------
}
在while循环中有空println(箭头^)
如果我删除这个空的println,数据不会显示在我的控制台中,但如果我把它留在那里(我的数据库中只有一行,所以如果我有更多的数据,它可能只是跳过最后一行)
如果我遗漏空的println ???
,为什么它不会显示我的单行数据?THX!
答案 0 :(得分:2)
命令行System.out被缓冲,只有println
执行flush()
,将缓冲区清空到控制台。
在循环中你可能会这样做:
if (i > 1) System.out.print(", ");
if (i % 5 == 1) System.out.println();