2010-04-09 11 views
6
में खंड

कोई मुझे कैसे WHERE कथन में एक चर नाम हो जाता है कि JDBC में एक प्रश्न बनाने के लिए, या लिखना एक उदाहरण है, अधिक विशिष्ट पर एक लिंक दे सकता है, मेरे कोड इस तरह दिखता है:क्वेरी में एक चर नाम निर्दिष्ट करना कहां JDBC

 private String getLastModified(String url) { 
    String lastModified = null; 
    ResultSet resultSet; 
String query = "select LastModified from CacheTable where " + 
    " URL.equals(url)"; 
    try { 
     resultSet = sqlStatement.executeQuery(query); 
} 

अब मैं वाक्य रचना है कि मुझे सक्षम बनाता है एक ResultSet वस्तु जहां cacheTable में uRL विधि के तर्क से यूआरएल के बराबर होती है लौटना ही होगा।

धन्यवाद

उत्तर

14

सबसे आसान तरीका होगा

String query = "select LastModified from CacheTable where url = '" + url +"'"; 

आप हालांकि बाँध चर का उपयोग करना चाहिए:

String query = "select LastModified from CacheTable where url = ?"; 
prepStmt = conn.prepareStatement(query); 
prepStmt.setString(1, url); 
rs = prepStmt.executeQuery(); 
+0

आपके उत्तर के लिए धन्यवाद, अन्य तरीके क्या हैं, और मैं चर को कैसे बांधूं? – Noona

+0

ओह .. मैंने सोचा था कि तैयार करना केवल अद्यतन प्रश्नों के लिए था। बहुत बहुत धन्यवाद – Noona

+0

+1 मैं बहुत धीमी थी। अधिक कॉफी! – Instantsoup

1

यह एक कदम आगे ले करने के लिए आप वास्तव में अपाचे-कॉमन्स से DBUtils का उपयोग करना चाहिए या Sping JDBC ढांचे। बहुत से जेडीबीसी काम में शामिल कदमों की संख्या के कारण बहुत अधिक गड़बड़ी और त्रुटि प्रवण है। शुरू करने के लिए दोनों लिंक में आपके लिए काम करने के उदाहरण हैं।

ये हेल्पर लाइब्रेरी अपने जीवन और अधिक आरामदायक :-) कर देगा।

1

एक गलत धारणा को साफ करें: JDBC और SQL दो पूरी तरह अलग बातें हैं। डेटाबेस केवल SQL भाषा को समझते हैं। यह एक (अर्ध) मानक है जिसे आप here सीख सकते हैं। जेडीबीसी सिर्फ एक जावा एपीआई है जो आपको जावा कोड का उपयोग कर SQL भाषा निष्पादित करने में सक्षम बनाता है। कुछ भी कम नहीं, और कुछ नहीं। जेडीबीसी एसक्यूएल भाषा लिखने का जावा तरीका नहीं है। यह जावा कोड और डेटाबेस के बीच संदेशवाहक है। आप जेडीबीसी here सीख सकते हैं।

उसने कहा, हाँ, PreparedStatement SQL क्वेरी में मान सेट करने के लिए जाने का तरीका है। यह setXXX() विधियों का उपयोग करके SQL स्ट्रिंग में पूर्ण-योग्य जावा ऑब्जेक्ट्स को सेट करने में आसान नहीं है, बल्कि यह आपको SQL injection हमलों से भी बचाता है।

संबंधित मुद्दे