【发布时间】:2015-09-17 09:13:08
【问题描述】:
我正在尝试打印 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.
谁能告诉我是什么问题? 提前致谢。
【问题讨论】:
-
如果你尝试 select * from seat where doj= '1-01-2016' ?
-
你确定两者都使用相同的数据库?
-
@UweAllner 是的,我对两者都使用相同的数据库。反复检查了好几遍。
-
@jarlh sql 查询返回相同的输出。更新了输出。
-
您是否尝试过使用
to_date格式化您的日期输入。它如何知道您选择了哪种格式的日期作为输入?
标签: java sql oracle jdbc resultset