我正在尝试打印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.
有人可以告诉我这是什么问题吗? 提前谢谢。
答案 0 :(得分:5)
行s.executeQuery
已经返回一个ResultSet,你应该使用它,而不是随后调用s.getResultSet()
。 JavaDoc上的{{3}}也表示第二次调用将返回null。我很惊讶您没有在rs1.next()
上获得NullPointerException。
另外,从小方面来看,通常最好将Connection和Statement变量移到try-catch块之外并在finally
块中关闭它们,或者使用Java 7 try-with - 资源建设。
答案 1 :(得分:-3)
首先可以从resultSet中提取数据到变量然后输出变量吗?
例如:
String variable1 = rs1.getString("tno1")
......................................
String variable5 = rs1.getString("ac2")
System.out.println(variable1);
......................................
System.out.println(variable5);