2012-09-18 15 views
11

से एक ही पंक्ति मिल ये मेरी तालिका में आईडी कर रहे हैं:तालिका

KEY_ID(autoincremented integer primary key) KEY_NAME(text)  KEY_PH_NO(text) 

1            james     1234567890 
2            kristein    6484996755 
3            Roen     4668798989 
4            Ashlie     6897980909 

क्या मैं जानना चाहता हूँ है, मैं कैसे इस मैं के लिए unique(KEY_ID) के आधार पर इस तालिका से एक रिकॉर्ड, प्राप्त कर सकते हैं

Contact getContact(int id) { 
    SQLiteDatabase db = this.getReadableDatabase(); 

    Cursor cursor = db.query(TABLE_CONTACTS, new String[] { KEY_ID, 
      KEY_NAME, KEY_PH_NO }, KEY_ID + "=?", 
      new String[] { String.valueOf(id) }, null, null, null, null); 
    if (cursor != null) 
     cursor.moveToFirst(); 

    Contact contact = new Contact(Integer.parseInt(cursor.getString(0)), 
      cursor.getString(1), cursor.getString(2)); 
    // return contact 
    return contact; 
} 

और Contact इस तरह एक getContact() विधि, का निर्माण किया है एक वर्ग है, जहां मैं सभी विशेषताओं के लिए सभी गेटर और सेटर विधि निर्धारित किया है है।

कृपया पूरा कोड के साथ मदद करें।

उत्तर

30

यदि यह आप मदद कर सकते हैं देखें ..

अपनी मेज नाम मान लिया जाये कि कर्मचारी

public String getEmployeeName(String empNo) { 
    Cursor cursor = null; 
    String empName = ""; 
    try { 
     cursor = SQLiteDatabaseInstance_.rawQuery("SELECT EmployeeName FROM Employee WHERE EmpNo=?", new String[] {empNo + ""}); 
     if(cursor.getCount() > 0) { 
      cursor.moveToFirst(); 
      empName = cursor.getString(cursor.getColumnIndex("EmployeeName")); 
     } 
     return empName; 
    }finally { 
     cursor.close(); 
    } 
} 
+0

tenx .. प्रयास करें यह मददगार था .. –

10
Contact getContact(int id) { 
    SQLiteDatabase db = this.getReadableDatabase(); 

    Cursor cursor = db.query(TABLE_CONTACTS, new String[] { KEY_ID, 
     KEY_NAME, KEY_PH_NO }, KEY_ID + "=?", 
     new String[] { String.valueOf(id) }, null, null, null, null); 
    if (cursor != null) 
     cursor.moveToFirst(); 

    Contact contact = new Contact(Integer.parseInt(cursor.getString(0)), 
         cursor.getString(1), cursor.getString(2)); 
    // return contact 
    return contact; 
} 

मानते हुए है आप संपर्क के लिए इकाई की क्लास है, और फिर आप बस इसे अपने विधि ऊपर फोन इसके साथ।

Contact singleContact = database.getContact(id); 

फिर संपर्क इकाई को कॉल करें, मुझे लगता है कि आपके पास विधि गेटटर getPhone() है;

Log.d("Phone Number :" , singleContact.getPhone()); 
+0

+1। डीबी.क्वायरी के अंदर एक पूर्ण उड़ा हुआ ओआरएम फ्रेमवर्क – jmaculate

+0

@ user1085828 के ऊपरी हिस्से के बिना संगठित रखने का यह एक आसान तरीका है पहला पैरामीटर तालिका का नाम है, दूसरा मूल्य जो हम चाहते हैं, तीसरा है जहां खंड, 4 वां मूल्य प्रदान किया गया है, क्या इस स्टैंड के बाद शून्य मान करें? – anup

0

अपनी खुद की संस्थाओं बनाने के लिए इस

cursor.moveToPosition(position); cursor.getString(listaTarefas1.getColumnIndex("Item"))