-3
下面的代碼給我單列使用ID:獲取從一個SQLite數據庫的單個行,而無需使用ID
public DataObject getContact(int id) {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query(TABLE_CONTACTS, new String[] { KEY_ID,
KEY_PHN, KEY_PTYPE, KEY_PDATE ,KEY_PNAME, KEY_PNOTE }, KEY_ID + "=?",
new String[] { String.valueOf(id) }, null, null, null, null);
if (cursor != null) cursor.moveToFirst();
DataObject contact = new DataObject(Integer.parseInt(cursor.getString(0)),cursor.getString(1),
cursor.getString(2), cursor.getString(3),cursor.getString(4),cursor.getString(5));
cursor.close();
return contact;
}
,但我想用一個字符串,例如:如果我的數據庫如下,然後,我希望得到整個行,當我說NAME2(這意味着它應該返回地址2和phno2)
- 名1地址1 phnno1
- 名2地址2 phnno2
- NAME3地址3 phnno3
- name4 address4 phnno4
您可以相應地改變你的where子句! –
查詢將返回與條件匹配的每一行。一個PK不是獲得一行的唯一方法,如果你在某個地方有一個唯一的約束,這仍然是可能的。如果不是,那麼你只需要第一個......不一定是你想要的那個 – AxelH
那麼'KEY_PNAME +「=?」'而不是'KEY_ID +「=?」'並且將參數類型改爲String? – Denny