2010-07-19 11 views
23

मैं एंड्रॉइड एप्लिकेशन में एक स्क्लाइट डेटाबेस का उपयोग करके अपनी दो टेबलों पर एक साधारण टेबल में शामिल होने का सबसे अच्छा तरीका खोजने का प्रयास कर रहा हूं। CursorJoiner का उपयोग करने का सबसे आसान तरीका है या क्या कोई आसान तरीका है?एंड्रॉइड में स्क्लाइट का उपयोग करके टेबल में शामिल होने का सबसे अच्छा तरीका

+0

एसक्यूएल में ऐसा करने के लिए बेहतर है। जरूरी [JOIN] (http://www.sqlite.org/lang_select.html) के साथ एक [VIEW] (http://www.sqlite.org/lang_createview.html) बनाएं। – yanchenko

+0

मैंने ऐसा करने की कोशिश की लेकिन मुझे किसी कारण से इसे पहचानने में मेरी परियोजना हो रही थी। –

+1

http://stackoverflow.com/a/4957197/334270 –

उत्तर

27

SQLiteDatabase और SQLiteQueryBuilder आप देखेंगे कि यह टेबल आप query की table तर्क भले ही प्रलेखन का तात्पर्य यह केवल एक तालिका के एक ही नाम ले जाएगा करने के लिए शामिल करना चाहते हैं पारित करने के लिए संभव है देखेंगे के कार्यान्वयन में। SQLiteQueryBuilder के लिए प्रलेखन अधिक स्पष्ट है और यहां तक ​​कि foo, bar या foo LEFT OUTER JOIN bar ON (foo.id = bar.foo_id) जैसी चीजों का भी सुझाव देता है।

+2

लिंक टूटे हुए हैं – ytg

1

आप एक तीसरे पक्ष के पुस्तकालय का उपयोग करने को तैयार हैं, मैं सक्रिय एंड्रॉयड

https://github.com/pardom/ActiveAndroid

का उपयोग करना चाहिये इसे का उपयोग आप इस

From query = new Select() 
    .from(Foo.class) 
    .innerJoin(Bar.class) 
    .on("Foo.Id=Bar.Id"); 

आप भी प्राप्त कर सकते हैं की तरह टेबल विलय कर सकते हैं एक कर्सर लोडर में उपयोग करने के लिए वापस

Cursor cursor = Cache.openDatabase().rawQuery(query.toSql(), query.getArguments()); 

अधिक जानकारी here

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

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