get a single row from table

Vaishali Sharma picture Vaishali Sharma · Sep 18, 2012 · Viewed 60.6k times · Source

These are the ids in my table:

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

What I want to know is, how can I get a single record from this table on the basis of unique(KEY_ID), for this i have built a getContact() method like this,

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;
}

And Contact is a class where I have set all the getter and setter method for all attributes.

Please help with complete code.

Answer

vinod picture vinod · Sep 24, 2012

See if this can help you out..

Assuming your table name is Employee

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();
    }
}