ResultSet.next()不检索行

时间:2018-02-03 16:44:38

标签: java derby resultset

我的代码即将访问我的数据库" 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();
        }
    }
}
//

1 个答案:

答案 0 :(得分:1)

con.getMetaData 检索此ResultSet对象列的数量,类型和属性。因此,如果您的表有数据,则无法保证。

如果你的程序没有打印任何意思,它就不会进入while循环内部,这意味着你的查询没有返回行。

您可能已填充数据,但 您需要提交这些数据 ,以便将其反映/保存到您的数据库 否则您赢了看不到另一个数据库会话中的数据。