没有空的println,Java sql不显示数据

时间:2014-10-21 13:48:42

标签: java sql for-loop while-loop println

我使用以下来自互联网的代码从数据库中获取数据:

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!

1 个答案:

答案 0 :(得分:2)

命令行System.out被缓冲,只有println执行flush(),将缓冲区清空到控制台。

在循环中你可能会这样做:

   if (i > 1) System.out.print(",  ");
   if (i % 5 == 1) System.out.println();