Thursday 15 August 2013

java - JDBC MySQl don't show result sets -


मेरे कोड में, मेरा अंतिम आउटपुट, MySQl कंसोल आउटपुट में नहीं है:

  सार्वजनिक वर्ग d3 {कनेक्शन con; स्ट्रिंग dbName = "mydb"; स्ट्रिंग dbUsername = "root"; स्ट्रिंग dbPassword = "2323"; स्ट्रिंग dbUrl = "jdbc: mysql: // localhost /"; सार्वजनिक डी 3 () {try {class.forName ("com.mysql.jdbc.Driver"); System.out.println ("डेटाबेस सफलतापूर्वक ढूँढें"); } पकड़ (अपवाद ई) {System.err.println ("खोजने और लोड करने में असमर्थ ड्राइवर"); System.exit (1); }} सार्वजनिक शून्य कनेक्टTODB () {try {con = DriverManager.getConnection (dbUrl, dbUsername, dbPassword); System.out.println ("डेटाबेस से सफलतापूर्वक कनेक्ट करें"); } पकड़ (एसक्लेक्सेप्शन ई) {System.out.println ("डेटाबेस से कनेक्ट नहीं हो सकता"); System.exit (1); }} सार्वजनिक शून्य excuteSQL () {स्ट्रिंग sqlString1 = "mydb का उपयोग करें"; स्ट्रिंग sqlString2 = "शो टेबल"; स्ट्रिंग परिणाम; कोशिश {वक्तव्य st1 = con.createStatement (); परिणामस्वरूप परिणाम 1 = st1.executeQuery (sqlString1); जबकि (result1.next ()) {परिणाम = परिणाम 1.getString (dbName); Println (result1); }} कैच (एसक्लेक्सैप्शन स्केल) {System.out.println ("एसक्यूएल स्टेटमेंट को उत्तेजित नहीं किया जा सकता"); }} सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग [] आर्ग्स) {d3 ddd = new d3 (); ddd.connectToDB (); ddd.excuteSQL (); }}   

मेरा आउटपुट:

  डेटाबेस का सफलतापूर्वक पता लगाएं डेटाबेस से सफलतापूर्वक कनेक्ट करें परिणाम 0 की अद्यतन गणना का प्रतिनिधित्व करने वाला परिणाम 0   

लेकिन, मैं इस तरह बनना चाहता हूं:

  डेटाबेस का सफलतापूर्वक पता लगाएं डेटाबेस से सफलतापूर्वक कनेक्ट करें डेटाबेस परिवर्तित किया गया // यह कंसोल में दिखाया गया है   

मैं जा रहा हूँ कदम से कदम और mysql कंसोल और मेरे आईडीई कंसोल से आउटपुट की तुलना करना, उदाहरण के लिए, "mydb" कथन निष्पादित करने के बाद मैं "डेटाबेस बदल गया" संदेश देखना चाहता हूं।

पोस्ट टेक्स्ट "itemprop =" text ">

आप mydb का उपयोग निष्पादित कर रहे हैं, जो नतीजे सेट नहीं करता है (यह कोई क्वेरी नहीं है)। इसके अलावा, आपको अपने वर्तमान डेटाबेस को सेट करने के लिए इस कमांड का उपयोग नहीं करना चाहिए, जेडीबीसी आपको जदबीसी विधियों का उपयोग करने की आवश्यकता है Java.sql का javadoc देखें। कनेक्शन:

नोट : जब कनेक्शन कॉन्फ़िगर करते हैं, तो JDBC अनुप्रयोगों को उपयुक्त कनेक्शन विधि जैसे setAutoCommit या setTransactionIsolation । जब कोई JDBC विधि उपलब्ध है, तो अनुप्रयोगों को कनेक्शन के कॉन्फ़िगरेशन को बदलने के लिए सीधे SQL कमानों को लागू नहीं करना चाहिए

USE mydb के समतुल्य है, इस पद्धति को कॉल करने से यह सुनिश्चित होता है कि चालक एक सुसंगत स्थिति में है यदि आप MySQL कनेक्टर / जे में वास्तविक क्रियान्वयन को देखते हैं, तो यह विधि अंततः USE mydb को कॉल करती है, लेकिन यह अतिरिक्त चेक और कनेक्शन ऑब्जेक्ट की स्थिति में परिवर्तन करता है। < / P>

जब आप पहले से ही जानते हैं कि आप किस डेटाबेस का उपयोग करना चाहते हैं, तो बस इसे सीधे यूआरएल में शामिल करें:

  स्ट्रिंग dbUrl = "jdbc: mysql: // localhost / mydb" ;   

इसी प्रकार, आपको तालिका के बारे में जानकारी प्राप्त करने के लिए दिखाओ टैब का उपयोग नहीं करना चाहिए MySQL विशिष्ट आदेशों पर जेडीबीसी विधियों का उपयोग करना आपके कार्यक्रम को अधिक पोर्टेबल बनाता है।

No comments:

Post a Comment