Я пытаюсь выполнить SQL-запрос, используя подготовленный оператор, но он возвращает пустое значение - PullRequest
0 голосов
/ 28 марта 2019
String sql = "select s_upload_file.NEXTVAL from dual" ;
PreparedStatement ps = con.preparedStatement(sql);
ResultSet rs = ps.executeQuery();

При выполнении этого я получаю набор результатов как пустой. В чем проблема с этим ..

Ответы [ 4 ]

1 голос
/ 28 марта 2019

Ответов уже много, но я постараюсь дать вам полный объем ответа.

public static Connection getConnection_Test() throws Exception{

    try{

        String driver = "com.mysql.cj.jdbc.Driver";
        String url = "jdbc:mysql://localhost:3306/Database_Name";
        String username = "root";
        String pass = "";
        Class.forName(driver);

        Connection conn = DriverManager.getConnection(url, username, pass);
        System.out.println("Success!");

        String query = "SELECT S_UPLOAD_FILE.NEXTVAL from dual \n ";

        PreparedStatement st = conn.prepareStatement(query);
        ResultSet rs = st.executeQuery();
        while(rs.next()){
            int NEXTVALUE = rs.getInt(1);
            System.out.println(NEXTVALUE);

        }
        rs.close();
        st.close();    

        return conn;
    }catch (Exception e){
        System.out.println(e);
    }


    return null;

}
0 голосов
/ 28 марта 2019

Вы пробовали что-то подобное?

/* not mandatory but give an alias to your column in select */
if(rs.next()){
   int nextval = rs.getInt(1);
    System.out.println(nextval)
}
0 голосов
/ 28 марта 2019

вы должны попробовать что-то вроде этого,

 String sql = "select s_upload_file.NEXTVAL from dual" ;
 PreparedStatement ps = con.prepareStatement(sql);
 ResultSet rs = ps.executeQuery();
 if (rs.next())
 {
   int var2= rs.getInt(1);
 }
0 голосов
/ 28 марта 2019

Вы можете получить значения через rs.next(),

String sql = "select s_upload_file.NEXTVAL from dual";
PreparedStatement pst = conn.prepareStatement(sql);
synchronized( this ) {
   ResultSet rs = pst.executeQuery();
   if(rs.next())
     long nxtVal = rs.getLong(1);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...