SugarORM是最容易使用的SQLite库,并且证明对像我这样的初级Android开发人员非常有帮助。 SugarORM自动创建表并为每个扩展SugarRecord的java类添加一个AUTO_INCREMENT id列。
插入新行可以像someJavaObject.save()
一样简单。但是,如果插入该行,我怎样才能获得插入的id?在PHP中,我可以在插入后执行类似$id = mysql_insert_id();
的操作。
我知道我可以在表格中获取最后一行的ID。但是新行的插入在某种程度上可能是非常不可预测的。让我们说我有一个活动和一个同时插入一个新行的服务,我想避免错误的ID。
提前感谢您的帮助。
答案 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());