मैं अभी एंड्रॉइड के लिए अपने एफआईआर ऐप का विकास कर रहा हूं, मैं डेटा प्राप्त करने और सम्मिलित करने के लिए एकाधिक तालिकाओं का उपयोग कर रहा हूं। विकास के दौरान और खुद को तालिका से डेटा लाने के साथ पाया गया है जिसमें केवल दो कॉलम STATS(_id, stat_name)
हैं। मेरी समस्या क्या है? मेरे पास 10 बटन के साथ एक गतिविधि है, और प्रत्येक बटन एक stat_name
से संबंधित है। जब उपयोगकर्ता बटनों में से एक दबाते हैं तो _id
प्राप्त करने के लिए STATS
तालिका में "जा रहा" है और फिर _id
को पर पर अन्य तालिका में पर इनपुट कर रहा है और मुझे मूल रूप से PlayerId
के लिए समान ऑपरेशन करना है।एंड्रॉइड में SQLite से एकल मान प्राप्त करना
अभी, मैं इसे इस तरह से कर रहा हूँ:
public String getStatId(String statName){
String statId = "Error";
Cursor c = mDb.query(STAT_TABLE, new String[] {AbstractDbAdapter.STAT_ID, AbstractDbAdapter.STAT_NAME}, AbstractDbAdapter.STAT_NAME+ " = " +statName, null, null, null, null);
int count = c.getCount();
if(count == 1){
c.moveToFirst();
statId = c.getString(c.getColumnIndex(AbstractDbAdapter.STAT_ID));
}
c.close();
mDb.close();
Log.d("FootballApp","StatId =" +statId);
return statId;
}
मेरी समस्या क्या है, मुझे पता है कि केवल एक ही मान दिया वहाँ जाना चाहिए कि, और मैं अभी भी कर्सर का उपयोग करने के, तो क्या करना है । साथ ही, मेरी राय में, यह एक टेबल से एक आईडी प्राप्त करने के लिए केवल उस कोड को जटिल और समय लेने वाला तरीका लिखता है। मेरे पास मेरे आवेदन में 9 टेबल हैं, और जब भी मुझे अलग-अलग तालिका से _id की आवश्यकता होती है, तो मुझे उसी विधि को लिखना होगा, उदाहरण के लिए, केवल नाम।
क्या कोई मुझे बता सकता है कि क्या ऐसा करने का आसान तरीका है? कृपया :) धन्यवाद! :)
टाइपिंग का एक छोटा सा की जगह 'selectBy +" = "+ selectName, null' ' selectBy + "=?", नई String [] {selectName} के साथ बचत होगी ' – Afilu