如何在SugarORM中获取已保存的ID?

时间:2015-04-08 12:26:53

标签: android sqlite sugarorm

在我看来,

SugarORM是最容易使用的SQLite库,并且证明对像我这样的初级Android开发人员非常有帮助。 SugarORM自动创建表并为每个扩展SugarRecord的java类添加一个AUTO_INCREMENT id列。

插入新行可以像someJavaObject.save()一样简单。但是,如果插入该行,我怎样才能获得插入的id?在PHP中,我可以在插入后执行类似$id = mysql_insert_id();的操作。

我知道我可以在表格中获取最后一行的ID。但是新行的插入在某种程度上可能是非常不可预测的。让我们说我有一个活动和一个同时插入一个新行的服务,我想避免错误的ID。

提前感谢您的帮助。

3 个答案:

答案 0 :(得分:5)

save()方法必须返回它。像:

 long id = someJavaObject.save() 

答案 1 :(得分:3)

或尝试:

someJavaObject.save()
long id = someJavaObject.getId();

答案 2 :(得分:1)

正如Stan所说,save实际上将id作为long值返回。我今天用过这个。 如果您想将它用于新创建的行,您可以执行以下操作: 区域reg2 =新区域(" Graz",20,20); reg1.setId(reg1.save());