2015-09-06 7 views
5

मैं सक्रिय एंड्रॉइड के साथ Person ऑब्जेक्ट को स्टोर करने का प्रयास कर रहा हूं। मैंने इस तरह जन्मदिन निर्धारित किया: person.setBirthdate(new java.sql.Date((new Date()).getTime()));। सभी डेटा आवंटित करने के बाद मैं person.save(); पर कॉल कर रहा हूं।सक्रिय एंड्रॉइड: दिनांक कॉलम नहीं बनाया गया

मैं इस आदेश के साथ डेटाबेस से सभी व्यक्तियों की एक सूची प्राप्त: new Select().from(Person.class).execute();

अगर मैं बंद नहीं करते एप्लिकेशन सब कुछ ठीक काम करता है (जन्मतिथि हमेशा डेटाबेस से सही ढंग से दिया जाता है)। हालांकि, जब मैं ऐप को पूरी तरह से बंद करता हूं और फिर इसे पुनरारंभ करता हूं, तो जन्मदिन हमेशा शून्य होता है। अन्य सभी फ़ील्ड (पहला नाम, अंतिम नाम इत्यादि) सही हैं।

मुझे सच में नहीं पता कि यह क्यों हो रहा है और कुछ मदद की सराहना करता है!

संपादित करें: मेरे डेटाबेस पर नज़र डालने के बाद मुझे पता चला कि जन्मदिन-कॉलम नहीं बनाया गया है। मुझे अभी भी यकीन नहीं है कि ऐप बंद नहीं होने पर डेटा क्यों उपलब्ध है।

दूसरा EDIT: मैंने एक नया कॉलम (एक स्ट्रिंग) जोड़ा जो डेटाबेस में सहेजा गया है और ठीक काम करता है। तो समस्या पुरानी डेटाबेस नहीं है। सभी कॉलम लेकिन दिनांक कॉलम बनाया गया है।

मैंने दिनांक डेटाटाइप को एक स्ट्रिंग में भी बदल दिया। जन्मदिन को तब बचाया गया था। इसे दिनांक डेटाटाइप पर वापस बदलना मूल समस्या में फिर से हुआ। वास्तव में अजीब ... क्या किसी को पता है कि क्या चल रहा है?

+0

आप java.sql.Date का उपयोग क्यों करते हैं java.util.Date? – LunaVulpo

+0

क्या आपने समस्या का समाधान किया? – LunaVulpo

+0

मैं अपने कॉलम फ़ील्ड प्रकार के रूप में जोडाटाइम की 'डेटटाइम' का उपयोग कर रहा था और यह चुपचाप SQLIte डेटाबेस में कॉलम नहीं बना रहा था। यदि आप ऐसा करने जा रहे हैं तो आपको एक कस्टम टाइपसेरियलाइज़र बनाना होगा। अधिक जानकारी के लिए इसे देखें: https://github.com/pardom/ActiveAndroid/issues/516 –

उत्तर

3

यह कुछ कैशिंग समस्या होनी चाहिए। बचत के लिए तिथि type serializer का उपयोग करने का प्रयास करें। यह इतना आसान है कि this page पढ़ें।

+0

मैंने अभी कोशिश की लेकिन कुछ भी नहीं बदला ...:/ –

+0

क्या आपने अपनी स्कीमा को अपडेट करने या अनइंस्टॉल करने और फिर से अपने ऐप को पुनः इंस्टॉल करने का प्रयास किया है? – mehdi

+0

मैंने अपनी स्कीमा अपडेट की है (यदि इसका मतलब डेटाबेस संस्करण संख्या बढ़ाना है) और ऐप को दोबारा इंस्टॉल किया गया है, लेकिन अभी भी काम नहीं कर रहा है ... –

संबंधित मुद्दे