Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

Google ऐप्स स्क्रिप्ट में संग्रहीत कार्यविधि निष्पादित करें

शायद इसे पढ़ने से आपको मदद मिल सकती है:JDBC से MySQL स्टोर्ड प्रोसीजर को कॉल करना

यहीं आप गलत हो जाते हैं:

mysqlquery = mysqldbconn.prepareCall(vstrSQLStatement);

आप घोषित 'कॉलस्टोर्ड प्रक्रिया' का उपयोग नहीं करते हैं।

नीचे उदाहरण पढ़ें:

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

कृपया मुझे बताएं, अगर इससे आपकी समस्या ठीक हो गई है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. सी # मैसकल कनेक्शन वैध और खुला होना चाहिए

  2. क्या नोडज पर MySQL के लिए कोई ड्राइवर है जो संग्रहीत प्रक्रियाओं का समर्थन करता है?

  3. MySQL में एक स्ट्रिंग के हिस्से को कैसे बदलें

  4. दिनांक समय समूह दिनांक और घंटे के अनुसार

  5. सर्वर पर वर्तमान लोड को प्रभावित न करने के लिए मैं एक MySQL डंप को कैसे धीमा कर सकता हूं?