मैं अपने डेटाबेस से ArrayList में कुछ मान डालने का प्रयास कर रहा हूं। मुझे लगता है कि विधि शोमीटिंग () में कुछ समस्या है। उम्मीद है कि आप लोग कंसोल से प्राप्त कुछ संदेश को समझ सकते हैं।

public ArrayList<String> showMeeting() {

    ArrayList<String> output = new ArrayList<String>();
    try {
        Class.forName(driverName).newInstance();
        con = DriverManager.getConnection(url + dbName, userName, password);
        try {
            Statement st = con.createStatement();
            String meetID = "SELECT meetID FROM Meeting";
            ResultSet rs = st.executeQuery(meetID);
            while(rs.next()){
                output.add(rs.toString());
            }
        } catch (SQLException s) {
            System.out.println("Wrong sql-query");
        }
        con.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return output;
}
public static void main(String[] args) {
    InteractWithDatabase2 test = new InteractWithDatabase2();
    ArrayList<String> meetID = test.showMeeting();
    String meetings = "";
    for (int i = 0; i <meetID.size(); i++) {
        meetings += meetID.get(i) + "\n";
    }
    System.out.println(meetings);

}

जब मैं इसे ग्रहण में चलाने की कोशिश कर रहा हूं, तो मुझे यह संदेश मिलता है:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at java.net.URLClassLoader$1.run(URLClassLoader.java:202) java.security पर। URLClassLoader.java:190) java.lang.ClassLoader.loadClass(ClassLoader.java:307) पर sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) java.lang.ClassLoader.loadClass(ClassLoader.java पर) :248) java.lang.Class.forName0(मूल विधि) पर java.lang.Class.forName(Class.java:169) at no.ntnu.fp.model.InteractWithDatabase2.visMoter(InteractWithDatabase2.java:107) पर no.ntnu.fp.model.InteractWithDatabase2.main(InteractWithDatabase2.java:127)

1
Ole-M 29 मार्च 2011, 17:12
आकस्मिक टिप्पणी लेकिन यह पंक्ति: output.add(rs.toString()); एक मान जोड़ने जा रही है जो "ResultSet@0x000FF" जैसा कुछ है। आप शायद output.add(rs.getString("meetID")) चाहते हैं, जो मीटआईडी कॉलम के मान को जोड़ देगा।
 – 
ig0774
29 मार्च 2011, 17:37

2 जवाब

सबसे बढ़िया उत्तर

बस अपनी mysqlXXX.jar फ़ाइल को उचित निर्देशिका में जोड़ें .. तब यह काम करेगी ..

0
vinod 29 मार्च 2011, 17:21

आपके कोड में कुछ भी गलत नहीं लगता है, आप बस अपने क्लासपाथ पर MySQL कनेक्टर .jar को याद कर रहे हैं।

आप इसे डाउनलोड पेज से या मावेन के जरिए डाउनलोड कर सकते हैं:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.15</version>
</dependency>
2
Sean Patrick Floyd 29 मार्च 2011, 17:17
ठीक है, अभी इसे डाउनलोड पेज से डाउनलोड किया है। मैं इसके लिए काफी नया हूं, लेकिन जब आप क्लासपाथ कहते हैं तो मुझे लगता है कि आपका मतलब एक्लिप्स में मेरा पैकेज है जहां मेरे पास कक्षा है? और क्या यह सिर्फ .jar-file को उस फ़ोल्डर से कॉपी करने के लिए है जिसे मैंने अभी अपने क्लासपाथ में डाउनलोड किया है?
 – 
Ole-M
29 मार्च 2011, 17:29
यदि आप ग्रहण का उपयोग करते हैं, तो आप आमतौर पर इसे उपयोगकर्ता पुस्तकालय के रूप में जोड़ेंगे। इसे कहीं पर कॉपी करें जहां आपको यह मिलेगा, उदा। C:\dev\libs. अपने प्रोजेक्ट पर राइट-क्लिक करें: "Build Path" > "Add Libraries" > "User Library" > "User Libraries" > "New ..." (Enter a name, e.g 'mysql') > "add Jars ..." ( select the jar you downloaded ) > "OK"
 – 
Sean Patrick Floyd
29 मार्च 2011, 17:47