सबसे पहले, कनेक्शन यूआरएल गलत है। पोस्ट 8080 आमतौर पर अपाचे टॉमकैट जैसे वेबसर्वर द्वारा उपयोग किया जाता है। Oracle स्वयं 1521 के डिफ़ॉल्ट पोर्ट का उपयोग करता है। यह भी देखें यह Oracle JDBC दस्तावेज़ ।
इसके अलावा आप पर कॉल करना भूल गए। ResultSet#next()
. यह परिणाम सेट में कर्सर को अगली पंक्ति में सेट कर देगा। परिणाम सेट पहले . कर्सर के साथ लौटाया जाता है पहली पंक्ति। कोई भी getXXX()
ResultSet
. पर कॉल करें यदि आप कर्सर नहीं हिलाते हैं तो विफल हो जाएगा।
यदि आप परिणाम सेट में एकाधिक पंक्तियों की अपेक्षा करते हैं, तो आपको while
. का उपयोग करने की आवश्यकता है लूप:
resultSet = statement.executeQuery();
while (resultSet.next()) {
String columnname = resultSet.getString("columnname");
// ...
}
या यदि आप केवल एक पंक्ति की अपेक्षा करते हैं, तो आप if
. के साथ भी आगे बढ़ सकते हैं कथन:
resultSet = statement.executeQuery();
if (resultSet.next()) {
String columnname = resultSet.getString("columnname");
// ...
}
बुनियादी . का उपयोग करने के अधिक संकेतों और उदाहरणों के लिए JDBC सही तरीका है (JSP/Servlet में भी) आपको यह लेख उपयोगी। उदाहरण के लिए जिस तरह से आपने कथन और कनेक्शन को बंद किया है, वह संसाधन लीक होने की संभावना है। जीईटी अनुरोध पर जेडीबीसी ड्राइवर को लोड करना भी अनावश्यक रूप से महंगा है। एप्लिकेशन के स्टार्टअप या सर्वलेट के इनिशियलाइज़ेशन के दौरान बस इसे एक बार करें।