मुझे लगता है कि आपकी समस्या कॉलम ऑर्डर के साथ है और सबसे महत्वपूर्ण बात यह है कि पंक्तिबद्ध कॉलम के लिए उपनाम, आपके मामले में Id कॉलम (Id INTEGER PRIMARY KEY AUTOINCREMENT
आईडी . को परिभाषित करता है पंक्तिबद्ध स्तंभ के उपनाम के रूप में )।
- ध्यान दें कि अन्य कॉलम निम्न के अनुसार किसी भी मान को स्टोर कर सकते हैं:-
SQLite संस्करण 3 डेटाबेस में कोई भी कॉलम, INTEGER PRIMARYKEY कॉलम को छोड़कर, किसी भी स्टोरेज क्लास के मान को स्टोर करने के लिए उपयोग किया जा सकता है।
- SQLite संस्करण 3 में डेटाटाइप
ऐसा कॉलम केवल एक पूर्णांक मान संग्रहीत कर सकता है। String sql = "INSERT INTO PHOTO VALUES(NULL,?,?,?,?)";
के अनुसार मान डालने के बराबर है :-
- नाम में रिक्त करें स्तंभ
- नाम, जैसा पारित हुआ, अक्षांश . में स्तंभ
- अव्यक्त, जैसा कि पारित हुआ, लोन . में स्तंभ
- लोन, जैसा कि पास हुआ, छवि . में स्तंभ
- छवि, जैसा कि पारित किया गया है, आईडी कॉलम में (अलविदा [] आईडी कॉलम में संग्रहित नहीं किया जा सकता)
आप इसे ठीक कर सकते हैं या तो कॉलम नाम प्रदान कर सकते हैं या कॉलम को उस क्रम से मिलान करने के लिए फिर से ऑर्डर कर सकते हैं जिसमें उन्हें परिभाषित किया गया था (पूर्व में यकीनन बेहतर अभ्यास)।
ऐसे में निम्न में से किसी एक को समस्या का समाधान करना चाहिए :-
String sql = "INSERT INTO PHOTO (Id, name, lat, lon, image) VALUES(NULL,?,?,?,?)";
या :-
String sql = "INSERT INTO PHOTO VALUES(?,?,?,?,NULL)";