如何在 SugarORM 中获取保存的 ID?
How to get saved id in SugarORM?
在我看来,SugarORM 是最容易使用的 SQLite 库,并被证明对像我这样的初级 Android 开发人员非常有帮助。 SugarORM 自动创建 table 并为每个 java class 扩展 SugarRecord 添加一个 AUTO_INCREMENT id 列。
插入新行就像 someJavaObject.save()
一样简单。但是,一旦插入该行,我如何才能获得插入的 id 呢?在 PHP 中,我可以在插入后执行类似 $id = mysql_insert_id();
的操作。
我知道我只能获取 table 中最后一行的 ID。但是新行的插入在某种程度上可能是非常不可预测的table。假设我有一个 activity 和一个同时插入新行的服务,我想避免得到错误的 id。
在此先感谢您的帮助。
正如 Stan 提到的,实际上 returns 将 id 保存为 long 值。我今天用过这个。
如果你想将它用于新创建的行,你可以这样做:
区域 reg2 = 新区域 ("Graz", 20, 20);
reg1.setId(reg1.save());
save()
方法必须 return 它。喜欢:
long id = someJavaObject.save()
或尝试:
someJavaObject.save()
long id = someJavaObject.getId();
SugarORM 是最容易使用的 SQLite 库,并被证明对像我这样的初级 Android 开发人员非常有帮助。 SugarORM 自动创建 table 并为每个 java class 扩展 SugarRecord 添加一个 AUTO_INCREMENT id 列。
插入新行就像 someJavaObject.save()
一样简单。但是,一旦插入该行,我如何才能获得插入的 id 呢?在 PHP 中,我可以在插入后执行类似 $id = mysql_insert_id();
的操作。
我知道我只能获取 table 中最后一行的 ID。但是新行的插入在某种程度上可能是非常不可预测的table。假设我有一个 activity 和一个同时插入新行的服务,我想避免得到错误的 id。
在此先感谢您的帮助。
正如 Stan 提到的,实际上 returns 将 id 保存为 long 值。我今天用过这个。 如果你想将它用于新创建的行,你可以这样做: 区域 reg2 = 新区域 ("Graz", 20, 20); reg1.setId(reg1.save());
save()
方法必须 return 它。喜欢:
long id = someJavaObject.save()
或尝试:
someJavaObject.save()
long id = someJavaObject.getId();