2013-12-12 46 views
0

我是新來的android世界,並有一個id問題。我需要的是,當用戶點擊新的匹配時,它會在數據庫中插入一個新行。這是工作,我得到lastId,但現在我需要在接下來的活動這個ID。我如何存儲該ID以便我可以在其他地方使用它?如何使用最後一個ID SQLite

我這是怎麼插入新的比賽:

public void newMatch(WedstrijdenGeschiedenis wedstrijd){ 

// 1. 
SQLiteDatabase db = this.getWritableDatabase(); 

// 2. 
DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy"); 
Date date = new Date(); 
ContentValues values = new ContentValues(); 
values.put(KEY_DATUM, dateFormat.format(date)); // get datum 

// 3. 
long lastId = db.insert(TABLE_WEDSTRIJD, // table 
null, //nullColumnHack 
values); // key/value -> keys = column names/ values = column values 
Log.d("New Match","ID ="+lastId); 

// 4. close 
db.close(); 

} 

,所以我看到的logcat的lastId但我不知道如何將它保存爲進一步使用。我嘗試了無效,但是這是無效的,這是無效的。很抱歉的僞問題

+0

我不知道我理解你的問題。您在'lastId'上得到的id是自動創建爲該記錄的主鍵的id。它已經存儲在數據庫中。 –

+0

爲什麼?數據庫知道這個ID,如果你從另一個活動插入,它仍然會知道它,並使用另一個ID(通常只有1個更高)。 – zapl

回答

1

變化voidlong並添加返回lastId

public long newMatch(WedstrijdenGeschiedenis wedstrijd){ 
    // Your other code 
    return lastId; 
} 

與Access它return語句:

long lastId= db.newMatch(new WedstrijdenGeschiedenis()); 
+0

在我的活動中,我這樣做: MySQLiteHelper db = new MySQLiteHelper(this); db.newMatch(new WedstrijdenGeschiedenis()); 那麼我該如何獲得id? –

+1

這是一個嚴重的問題嗎?看到更新的答案 – Kuffs

+0

是的。對不起,我的無知感謝你的幫助!這是我需要的 –

相關問題