2013-01-25 11 views
28

मैं एक एसक्यूएल स्तंभ प्रोटोकोल यह व्यर्थ है और मेजJDBC: पूर्णांक स्तंभ के बाद से यह व्यर्थ है

PROTOCOL IN (1, 2, 3) 

इसके अलावा पर एक बाधा है मैं सेट और तालिका में शून्य मान प्राप्त करना चाहते हैं के लिए अशक्त सम्मिलित करना

लेकिन मैं अशक्त .कैसे से अशक्त के रूप में स्तंभ के लिए एक अशक्त सेट करने के लिए के रूप में setInt और getInt ऐसा नहीं कर सकते JDBC

setInt(4,null); 

धन्यवाद

+3

उपयोग कर सकते हैं आप शामिल हैं setObject() विधि की कोशिश की? –

+2

'सेटऑब्जेक्ट (4, शून्य)' आज़माएं। –

+0

@ बेशगुरुंग बह, मुझे इसे हराया = पी –

उत्तर

62

उपयोग करने का प्रयास करें।

pst.setNull(4, java.sql.Types.INTEGER); //pst is prepared statement instance. 

Interface PreparedStatement.setNull API

Mapping of java.sql.Types to SQL types

पी.एस. : जावा 8 अपडेट को प्रतिबिंबित करने के लिए संपादित किया गया।

+4

+1 'setObject()' का उपयोग करने के मेरे विचार से भी बेहतर है। –

+0

शून्य पर सेट करने के बाद मैं इसे कैसे प्राप्त कर सकता हूं; क्या यह वापस शून्य नहीं होगा? – constantlearner

+0

@constantlearner मुझे इसका उपयोग करने का अवसर कभी नहीं मिला, लेकिन निश्चित रूप से आप कोशिश कर सकते हैं। – Smit

5

इसके अलावा Smit's answer रहे हैं:

आप एक डेटाबेस है कि null हो सकता है में एक Integer -object सम्मिलित करना चाहते हैं, तो आप

statement.setObject(4, yourObject, java.sql.Types.INTEGER); 
बजाय

if (yourObject == null) { 
    statement.setNull(4, java.sql.Types.INTEGER); 
else { 
    statement.setInt(4, yourObject); 
} 
संबंधित मुद्दे