ResultSet.next() 不检索行

ResultSet.next() does not retrieve rows

我的代码即将访问我的数据库 "toursdb" 并获得一些结果。我正在使用命令行和 javadb。当我使用 con.getMetaData 时,我确实有结果。当我使用 rs.getMetaData 时也是如此。我没有连接问题。但是我下面的程序没有打印任何东西。

//
import java.sql.*;
class JDBCTest
{
    public static void main(String ... args) {
        String url = "jdbc:derby://localhost:1527/c:/derbytuto/toursdb";
        StringBuilder sb = new StringBuilder();
        String query = "select * from AIRLINES";

        try {
            Connection con = DriverManager.getConnection(url);
            Statement st = con.createStatement();
            ResultSet rs = st.executeQuery(query);

            while(rs.next()) {
                sb.append(rs.getString("AIRLINE") + " ");
                sb.append(rs.getString("AIRLINE_FULL" + "\n");
            }
            System.out.println(sb);
        } catch(SQLException x) {
            x.printStackTrace();
        }
    }
}
//

con.getMetaData 检索此 ResultSet 对象的列的数量、类型和属性。 所以,这不能保证,如果您的 table 有数据与否。

如果您的程序没有打印任何内容,这意味着它不会进入 while 循环,这意味着您的查询没有 return 行。

您可能已经填充了数据,但是您需要提交这些数据,才能将其reflected/save放入您的数据库 否则您将看不到另一个数据库会话中的数据。