2012-05-05 12 views
25

मेरा आवेदन एक SQLite DB, जहां क्षेत्रों में से कुछ (जिसका अर्थ है कि मुझे लगता है कि क्षेत्र में कुछ भी डाला कभी नहीं) शून्य या खाली हैं।एंड्रॉयड SQLite - चयन रिकॉर्ड जहां क्षेत्र शून्य या खाली

मैं सभी रिकॉर्ड जिसके लिए क्षेत्र शून्य या खाली है का चयन करना चाहते हैं।

यह है कि मैं क्या करने की कोशिश की है:

cursor = db.query(DBHelper.TABLE_NAME, COLUMNS, "folder_name = ? ", new String[] {"null"}, null, null, DBHelper.TIMESTAMP_COL + " DESC"); 

लेकिन वह काम नहीं किया, और मैं किसी भी रिकॉर्ड नहीं मिला। इस काम को करने के लिए मुझे क्या करने की ज़रूरत है?

उत्तर

58

प्रयास करें

cursor = db.query(DBHelper.TABLE_NAME, COLUMNS, "folder_name is null or folder_name = ?", new String[] {""}, null, null, DBHelper.TIMESTAMP_COL + " DESC"); 
+2

परफेक्ट, 10 एक्स :) मैं जवाब एएसपी स्वीकार करूंगा। प्रदान की उत्तरों की –

+0

कोई भी स्पष्ट करता है, तो "FOLDER_NAME = <रिक्त स्ट्रिंग>" वास्तव में आवश्यक या overkill है। आपका एकमात्र ऐसा है जो IS NULL का उपयोग कर रहा है और एक बार में खाली स्ट्रिंग चेक है, तो क्या आप स्पष्ट कर सकते हैं कि डबल चेक क्यों (या यदि यह निवारक था)? – leRobot

+0

सवाल यह है कि रिकॉर्ड जहां '' folder_name' है null' या खाली चयन करने के लिए किया गया था। मुझे लगता है कि 'खाली' 'खाली स्ट्रिंग 'का संक्षेप है। अगर मैं गलत होगा, तो भी मैं निवारक खाली स्ट्रिंग चेक का प्रस्ताव दूंगा। – Rayne

2

बस का उपयोग "FOLDER_NAME रिक्त है"

+4

आप अपने उत्तर में और अधिक विस्तार प्रदान करना चाहिए। यह मानता है कि ओपी समझता है कि इसका मतलब क्या है। उच्च गुणवत्ता का उत्तर देने के लिए एक उदाहरण जोड़ने पर विचार करें। – jmort253

10
db.rawQuery("SELECT * FROM myTable WHERE myColumn IS NULL", null); 
संबंधित मुद्दे