Мне нужно выполнить процедуру из sql с использованием Java.
Я вызвал мою процедуру в управлении sql, как exec MyProcedure, и работает хорошо.Но когда я использую его в коде Java, я получаю сообщение об ошибке:
Оператор не возвращает набор результатов.
Это мой код:
ResultSet rs = null;
PreparedStatement cs=null;
Connection conn=DbM.dbConnect();
try {
cs= conn.prepareStatement("exec MyProcedure ?,?,?");
cs.setEscapeProcessing(true);
cs.setQueryTimeout(90);
cs.setString(1, "1");
cs.setString(2, "2019-01-01");
cs.setString(3, "2019-02-02");
rs = cs.executeQuery();
ArrayList<Data> listaObjectX = new ArrayList<Data>();
while (rs.next()) {
Data to = new Data();
to.setEmployeNo(rs.getString(1));
to.setValidFrom(rs.getDate(2));
to.setValidTo(rs.getDate(3));
listaObjectX.add(to);
} } catch (SQLException se) {
System.out.println("Error al ejecutar SQL"+ se.getMessage());
se.printStackTrace();
throw new IllegalArgumentException("Error al ejecutar SQL: " + se.getMessage());
} finally {
try {
rs.close();
cs.close();
conn.close();;
} catch (SQLException ex) {
ex.printStackTrace();
}
}
При выполнении кода я получил ошибку:
Оператор не возвратил набор результатов.
Есть идеи, как решить эту проблему?
Если я поставлю cs = conn.prepareStatement ("exec MyProcedure (?,?,?)");Я получаю ошибку
Неверный синтаксис рядом с '@ P0'