Mysql
 sql >> Baza danych >  >> RDS >> Mysql

wykonaj procedurę składowaną w skrypcie aplikacji google

Być może przeczytanie tego może ci pomóc:Wywoływanie procedur składowanych MySQL z JDBC

Tutaj się pomylisz:

mysqlquery = mysqldbconn.prepareCall(vstrSQLStatement);

Nie używasz zadeklarowanej „procedury callstored”.

Przeczytaj przykład poniżej:

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());
    }
}

Pozwól, że wyjaśnię:zapytanie jest zdefiniowane, podobnie jak twoje wywołanie akceptujące 1 parametr nie zwracający żadnej wartości. Następnie jest używany w:conn.prepareCall() , a następnie parametr jest ustawiany na instrukcję i jest wykonywany.

Jak wspomniałem, powinieneś to zrobić:

mysqlquery = mysqldbconn.prepareCall(callstoredprocedure);

Daj mi znać, jeśli to rozwiązało Twój problem.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Codeigniter — modele dostępu i bazy danych dotyczące routingu

  2. Czy ktoś odkrył, że REGEX \b nie działa w MYSQL?

  3. Spring Boot nie może połączyć się z MySQL i kończy pracę w Docker/Docker compose

  4. błąd php podczas korzystania z procedury składowanej

  5. Najlepsze praktyki dotyczące wydajnego przechowywania skrótów md5 w mysql