java - ResultSet.next() 不检索行

标签 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();
        }
    }
}
//

最佳答案

con.getMetaData 检索此 ResultSet 对象的列的数量、类型和属性。因此,这不能保证您的表是否有数据。

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

您可能已经填充了数据,但是您需要提交这些数据,才能将其反射(reflect)/保存到您的数据库中否则您就赢了在另一个数据库 session 中看不到数据。

关于java - ResultSet.next() 不检索行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48599630/

相关文章:

java - 如果将对象作为参数传递,为什么可以在静态方法中访问私有(private)字段

java - 在 Java 中重新排列数组

derby - JAVA DB:Shutdown Derby不起作用

sql - 为什么删除引用时SQL无法删除父行

java - 试图将结果集值放入 map 中

java - 方法map=null和map.clear()是否相同?

java - 捕获 Spring MVC 最大上传大小错误

java - 如果有必要的数据库

java - 如何将 MySQL 查询结果放入 ArrayList<object>

java - ResultSet 关闭后不允许操作