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

जेडीबीसी रेडीस्टेटमेंट में पसंद की क्वेरी का उपयोग नहीं कर सकते हैं?

सबसे पहले, PreparedStatement प्लेसहोल्डर (वे ? चीज़ें) कॉलम मानों . के लिए हैं केवल, तालिका के नाम, स्तंभ नाम, SQL फ़ंक्शन/खंड, वगैरह के लिए नहीं। बेहतर उपयोग String#format() बजाय। दूसरा, आपको नहीं . करना चाहिए '?' . जैसे प्लेसहोल्डर्स को कोट करें , यह केवल अंतिम क्वेरी को विकृत करेगा। PreparedStatement बसने वाले पहले से ही आपके लिए उद्धरण (और भागने) का काम कर रहे हैं।

यहाँ निश्चित SQL है:

private static final String SQL = "select instance_id, %s from eam_measurement"
    + " where resource_id in (select RESOURCE_ID from eam_res_grp_res_map where"
    + " resource_group_id = ?) and DSN like ? order by 2");

यहां इसका उपयोग करने का तरीका बताया गया है:

String sql = String.format(SQL, "SUBSTR(DSN,27,16)"); // This replaces the %s.
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setInt(1, defaultWasGroup);
preparedStatement.setString(2, "%Module=jvmRuntimeModule:freeMemory%");

यह भी देखें :

  • सन जेडीबीसी ट्यूटोरियल:तैयार वक्तव्यों का उपयोग करना
  • स्ट्रिंग सिंटैक्स प्रारूपित करें


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. X64 में WebDev.WebServer.exe (VS वेब सर्वर) का उपयोग कैसे करें?

  2. असाइनमेंट के लिए Oracle कर्सर

  3. कैसे पता करें कि पिछली बार Oracle तालिका कब अपडेट की गई थी

  4. JDBC - Oracle ArrayIndexOutOfBoundsException

  5. SQLcl (Oracle) में CSV फ़ाइल में क्वेरी परिणाम कैसे निर्यात करें