PreparedStatement.setNull के जावा दस्तावेज़ों के अनुसार: "नोट: आपको पैरामीटर के SQL प्रकार निर्दिष्ट करना होगा"। इस विधि के लिए एसक्यूएल प्रकार के कॉलम की आवश्यकता क्या है?क्यों PreparedStatement.setNull को sqlType की आवश्यकता है?
मैंने देखा कि java.sql.ypes.VARCHAR पास करने से गैर-वर्कर स्तंभों के लिए भी काम करता है। क्या ऐसे परिदृश्य हैं जिनमें VARCHAR उपयुक्त नहीं होगा (कुछ कॉलम प्रकार या कुछ डीबी प्रदाता)?
धन्यवाद।
1. मुझे अभी भी समझ में नहीं आता कि मुझे इस प्रकार की घोषणा क्यों करनी है। जहां तक मुझे पता है कि SET MY_COLUMN = NULL प्रत्येक कॉलम प्रकार पर काम करेगा, तो यह पर्याप्त क्यों नहीं है? – MosheElisha
2. मेरे पास एक विधि है जो SQL स्ट्रिंग और संग्रह
@user: 1 के संबंध में; जैसा कि मैंने पहले ही उल्लेख किया है, जेडीबीसी डेटाबेस के साथ बातचीत को मानकीकृत करने का प्रयास है, लेकिन वहां प्रत्येक डेटाबेस कार्यान्वयन के पास चीजों को करने का अपना तरीका है। उदाहरण के लिए मैंने सुना है कि ओरेकल शिकायत करता है कि न्यूल सेट करते समय उचित प्रकार की आपूर्ति नहीं की जाती है। इसलिए जेडीबीसी की आवश्यकता है कि आप इस प्रकार को निर्दिष्ट करें, अंतर्निहित जेडीबीसी कार्यान्वयन डेटाबेस पर इसे पास करता है या नहीं। यदि कोई विशेष डेटाबेस वायर प्रोटोकॉल तय करता है कि नल मानों को सेट करते समय प्रकारों को पारित किया जाता है तो इसकी सहायता नहीं की जा सकती है, इसलिए इसके साथ तर्क में कोई बात नहीं है। –