Dbconn.javars.next() цикл не функционирует в данных базы данных Oracle извлечения
import com.OracleCon;
public class Dbconn{
public static void main(String[] args){
try{
OracleCon oraclecon = new OracleCon();
oraclecon.callmethod();
}catch(Exception e){
System.out.println("Ex e"+e);
}
}
}
OracleCon.java
package com;
import java.lang.NullPointerException;
import java.sql.*;
public class OracleCon{
String JDBC_DRIVER="oracle.jdbc.driver.OracleDriver";
String db_URL="jdbc:oracle:thin:@localhost:1521:ORCL";
String username="SYSTEM";
String password="root";
Connection conn = null;
public OracleCon() {
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
conn=DriverManager.getConnection(db_URL,username,password);
if(conn!=null){
System.out.println("Database connected");
}else{
System.out.println("Problem in connecting datbase");
}
}catch(SQLException se){
System.out.println("Error occured " + se.toString());
}catch(Exception e){
e.printStackTrace();
}
}
public void callmethod() throws SQLException {
PreparedStatement statement = null;
conn = DriverManager.getConnection(db_URL,username,password);
try{
Statement stmt = null;
stmt = conn.createStatement();
String sql = "select USERID from userdetails";
System.out.println(sql);
ResultSet rs = stmt.executeQuery(sql);
System.out.println("Result set finished "+rs);
while(rs.next()){
System.out.println(rs.getString("USERID"));
}
rs.close();
}catch(SQLException se){
System.out.println("SQL ex"+se);
}catch(Exception e){
System.out.println("Ex e"+e);
}
finally {
closeConnection();
}
}
public void closeConnection(){
try{
if(conn!=null){
conn.close();
}
}catch(SQLException se){
se.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
}
}
База данных успешно подключен и RS держит некоторый объект что показано выражением Sysout выше rs.next(). Но проблема в том, что он не входит в while (rs.next()), я попробовал это, напечатав какое-то имя внутри этого цикла, даже если Sysout не печатает. Я не знаю, что не так с моим кодом. Он работает для Mysql, но он не работает для базы данных оракула.
Возможно, вы вставили записи в другую сессию БД и забыли «COMMIT»? –