【问题标题】:java oracle jdbc resultset empty but record is available in the tablejava oracle jdbc 结果集为空,但表中有记录
【发布时间】:2018-03-28 07:27:35
【问题描述】:

我正在运行 java 1.8 连接到 oracle 12c,使用 ojdbc7.jar 进行 jdbc 连接。

这是执行检索数据的代码

Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection("jdbc:oracle:thin:@" + 
         ipAddress + ":1521:" + dbname,userName,password);  
Statement stmt=con.createStatement();  
String query = "select * from table_name";
ResultSet rs = stmt.getResultSet();
while (rs.next()) {
    System.out.println(rs.getString(1));
}

但是代码没有进入while循环。

当我尝试在 DB 中执行相同的查询时,我可以看到该表有 10 个条目。

有人知道是什么原因吗?

【问题讨论】:

  • 你应该先执行查询。喜欢ResultSet rs = stmt.executeQuery(query);
  • query 从未使用过
  • 对不起,我的错,这是最严重的错误......谢谢

标签: java oracle jdbc resultset


【解决方案1】:
try{
    Class.forName("oracle.jdbc.driver.OracleDriver");
    con=DriverManager.getConnection("jdbc:oracle:thin:@" + 
         ipAddress + ":1521:" + dbname,userName,password); 
       Statement  stmt = con.createStatement();
       String query = "select * from table_name";
       ResultSet rs = stmt.executeQuery(query);
       while (rs.next()) { 
        System.out.println(rs.getString(1));
    }

  } catch (SQLException e ) {

  } finally {
    if (stmt != null) { stmt.close(); }
  }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多