gpt4 book ai didi

Java ResultSet 为空但实际上不应该是

转载 作者:行者123 更新时间:2023-11-30 08:47:04 25 4
gpt4 key购买 nike

我正在尝试打印一个 ResultSet,但它没有打印任何东西。有人可以告诉我有什么问题吗?我正在使用 Oracle 11g、JDK 1.7 和 ojdbc6.jar。提前致谢。我执行的代码如下。

import java.sql.*;
public class database {
public static void main( String args[]){
System.out.println("---Connecting to Oracle---");
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch( ClassNotFoundException e){
System.out.println( e );
}
System.out.println("---JDBC Registered---");
String URL = "jdbc:oracle:thin:admin/nihtij34@localhost:1521:XE";
String user = "admin";
String pwd = "nihtij34";
try{
Connection con = DriverManager.getConnection(URL,user,pwd);
Statement s = con.createStatement();
s.executeQuery ("select * from seat where doj= '1-01-2016' ");
System.out.println("---QUERY EXECUTED---");
ResultSet rs1 = s.getResultSet();
while(rs1.next()){
System.out.println( rs1.getString("tno"));
System.out.println( rs1.getString("doj"));
System.out.println( rs1.getString("sl"));
System.out.println( rs1.getString("ac3"));
System.out.println( rs1.getString("ac2"));
}
s.close();
con.close();
}
catch(SQLException e){
System.out.println(" NOT CONNECTED\n"+e);
}
}
}

我得到的输出如下:

---Connecting to Oracle---
---JDBC Registered---
---QUERY EXECUTED---

我在 Oracle 中尝试了查询,它返回了以下结果。

SQL> select * from seat where doj='1-01-2016';

TNO DOJ SL AC3 AC2
---------- ---------- ---------- ---------- ----------
11042 1-01-2016 10 10 10
12163 1-01-2016 10 10 10
12321 1-01-2016 10 10 10
12322 1-01-2016 10 10 10
12323 1-01-2016 10 10 10
12324 1-01-2016 10 10 10
12615 1-01-2016 10 10 10
12616 1-01-2016 10 10 10
12841 1-01-2016 10 10 10
12842 1-01-2016 10 10 10
12951 1-01-2016 10 10 10

TNO DOJ SL AC3 AC2
---------- ---------- ---------- ---------- ----------
12952 1-01-2016 10 10 10

12 rows selected.

有人可以告诉我问题是什么吗?提前致谢。

最佳答案

s.executeQuery 行已经返回了一个 ResultSet,您应该使用它,而不是随后调用 s.getResultSet()JavaDoc on this 也表明第二次调用将返回 null。我很惊讶您没有在 rs1.next() 上收到 NullPointerException。

此外,请注意,将 Connection 和 Statement 变量移到 try-catch block 之外并在 finally block 中关闭它们通常是一种很好的做法,或者使用 Java 7尝试资源构建。

关于Java ResultSet 为空但实际上不应该是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32626587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com