Я вставляю строки в базу данных Room и хочу проверить, успешно ли вставлена строка.
Это мой Дао
@Insert()
suspend fun insertOfflineData(offlineData: OfflineData): Long
@Entity
data class OfflineData(
@PrimaryKey(autoGenerate = true)
val id: Int = 0,
@ColumnInfo(name = "request_info_json")
val requestInfoJson: String
)
Когда я вставляю строку, ответ равен 1,2,3 и т. д. Итак, возвращается id
(правильно?)
Итак, чтобы проверить, правильно ли вставлена строка.
Могу ли я просто проверить, что вставленный rowId больше 0, тогда он успешно вставлен в БД.
private suspend fun insertOfflineData(offlineDataRequestInfo: String): Long {
var result: Long = 0
result = OfflineDatabaseManager.getInstance(app.applicationContext).insertOfflineData(
OfflineData(
0,
offlineDataRequestInfo
))
if(result > 0 ) {
//SUCCEFFLULLY INSERTED
} else {
//UNSUCCESSFULL
}
return result
}
Примечание: результат, который я получаю, равен 1,2,3 и т. д., который должен быть идентификатором строки.
Пожалуйста, подскажите, правильный ли это подход? В основном, если вставка не удалась, я хочу, чтобы пользователь не продолжал дальше
Спасибо за ваши предложения и вклад R
autoGenerate=true
, комната сгенерирует его, иначе вы должны указать его. - person Mohammed Farhan   schedule 23.10.2020autoGenerated=false
для первичного ключа любой таблицы. - person Mohammed Farhan   schedule 23.10.2020