15

这些是我表中的 ID:

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),为此我建立了一个getContact()这样的方法,

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是一个类,我为所有属性设置了所有 getter 和 setter 方法。

请帮助提供完整的代码。

4

3 回答 3

41

看看能不能帮到你。。

假设您的表名是 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();
    }
}
于 2012-09-24T11:32:45.790 回答
11
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);

然后调用联系实体,我假设你有方法 getter getPhone();

Log.d("Phone Number :" , singleContact.getPhone());
于 2014-07-22T19:22:23.913 回答
-1

尝试这个

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

于 2017-02-07T16:01:41.960 回答