Може би четенето на това може да ви помогне:Извикване на MySQL Съхранени процедури от JDBC
Тук грешите:
mysqlquery = mysqldbconn.prepareCall(vstrSQLStatement);
Не използвате декларираната 'callstoredprocedure'.
Прочетете примера по-долу:
public static void getSkills(int candidateId) {
//
String query = "{ call get_candidate_skill(?) }";
ResultSet rs;
try (Connection conn = MySQLJDBCUtil.getConnection();
CallableStatement stmt = conn.prepareCall(query)) {
stmt.setInt(1, candidateId);
rs = stmt.executeQuery();
while (rs.next()) {
System.out.println(String.format("%s - %s",
rs.getString("first_name") + " "
+ rs.getString("last_name"),
rs.getString("skill")));
}
} catch (SQLException ex) {
System.out.println(ex.getMessage());
}
}
Позволете ми да обясня:Заявката е дефинирана, подобно на вашето обаждане, приемащо 1 параметър, който не връща стойност. След това се използва в:conn.prepareCall() и след това параметърът се задава на инструкцията и след това се изпълнява.
Както споменах, трябва да направите това:
mysqlquery = mysqldbconn.prepareCall(callstoredprocedure);
Моля, уведомете ме, ако това е отстранило проблема ви.