在java中通过JDBC连接Oracle,ResultSet返回总为空,这个问题是怎么解决呢

Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println("1");
String url = "jdbc:oracle:thin:@localhost:1521:ORCl";
Connection conn = DriverManager.getConnection(url, "system", "admin");
System.out.println("2");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from test");
System.out.println("+++++");
while (rs.next()) {
System.out.println("******");
System.out.println(rs.getString("id"));
System.out.println(rs.getString("name"));
}

我特意测试了一下你写的例子。也建一张表。能输出值。
只可能是你这张表的所属权限,不属于你这个用户。
因此ResultSet对象是空的
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-20
代码好象没有问题,只是,,, 你的test 建在哪个用户下了? 是system用户下吗?用户可能没对上?。。。 在sqlplus下直接运行SQL文能查询出来吗?
第2个回答  2011-03-23
打开数据链接conn.open() ;
如果能链接成功;用system用户登录数据库;看看test表是否有数据!
第3个回答  2011-04-02
先在数据库中查询是否是test表没有数据。
第4个回答  2011-03-20
你没有打开,应该再Statement stmt = conn.createStatement();
前面加上conn.open()
相似回答