Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

jalankan prosedur tersimpan dalam skrip aplikasi google

Mungkin membaca ini dapat membantu Anda:Memanggil Prosedur Tersimpan MySQL dari JDBC

Di sinilah Anda salah:

mysqlquery = mysqldbconn.prepareCall(vstrSQLStatement);

Anda tidak menggunakan 'callstoredprocedure' yang dideklarasikan.

Baca contoh di bawah ini:

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

Mari saya jelaskan:Kueri didefinisikan, mirip dengan panggilan Anda yang menerima 1 parameter yang tidak mengembalikan nilai. Kemudian digunakan di:conn.prepareCall() , dan kemudian parameter disetel ke pernyataan dan kemudian dieksekusi.

Seperti yang saya sebutkan, Anda harus melakukan ini:

mysqlquery = mysqldbconn.prepareCall(callstoredprocedure);

Beri tahu saya, jika ini memperbaiki masalah Anda.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Lambat saat bergabung. Cara apa pun untuk mempercepat

  2. Symfony tidak melayani permintaan bersamaan

  3. Bagaimana cara melewatkan ArrayList<> sebagai klausa IN dalam kueri SQL di MySQL

  4. Apakah SET CHARACTER SET utf8 diperlukan?

  5. mysql ubah innodb_large_prefix