2013-12-12 40 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

是的。对不起,我的无知感谢你的帮助!这是我需要的 –

相关问题