sql >> Database teknologi >  >> RDS >> Mysql

udfør lagret procedure i Google Apps script

Læsning af dette kan måske hjælpe dig:Opkald til MySQL Stored Procedures fra JDBC

Det er her, du går galt:

mysqlquery = mysqldbconn.prepareCall(vstrSQLStatement);

Du bruger ikke den erklærede 'callstoredprocedure'.

Læs eksemplet nedenfor:

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

Lad mig forklare:Forespørgslen er defineret, ligesom dit opkald accepterer 1 parameter, der ikke returnerer nogen værdi. Derefter bruges det i:conn.prepareCall() , og derefter sættes parameteren til sætningen, og derefter udføres den.

Som jeg nævnte, bør du gøre dette:

mysqlquery = mysqldbconn.prepareCall(callstoredprocedure);

Fortæl mig venligst, hvis dette løste dit problem.




  1. Grunde til at forvandle Access Apps til webbaserede apps

  2. Hvordan renser man ODBC-databaseinput?

  3. Mysql betinget optælling

  4. Sådan gør du dine adgangsdatabaser ultrahurtige!