Проверка записи на уникальность sqlite
Есть, код, который сначала проводит поиск по базе и, если есть элемент, то появляется тост, а если слова нет, то записываем его. Но, при добавлении, появляется только тост что добавлено, но сама запись не появляется. Код добавления проверял отдельно, он работает. Код функции привёл ниже
fun Add(itemName: String, context: Context): Any? {
val check: Boolean
return try {
// проверяем есть ли запись в БД
val checkCursor = db?.rawQuery(
java.lang.String.format(
"SELECT * FROM words WHERE word=$itemName",
MyNameClass.TABLE_NAME,
MyNameClass.WORD
), null
)
// если есть, то делаем этот тост
check = if (checkCursor?.moveToFirst() == true) {
Toast.makeText(context, "This word added recently!", Toast.LENGTH_LONG).show()
true
} else {
// если нет, то записываем слово
val values = ContentValues().apply{
put(MyNameClass.WORD, itemName)
}
db?.insert(MyNameClass.TABLE_NAME, null, values)
Toast.makeText(context, "Added!", Toast.LENGTH_LONG).show()
false
}
checkCursor?.close()
check
} catch (e: Exception) {
Log.d("DBHelper.GetCheck", e.message!!)
null
}
}