I want to get a specific row by id in android sqlite and have written the following code, but it does not return any records. I have written a getAllRecords()
m
I solved this issue by adding "autoincrement" property to id, while creating the table
db.execSQL("CREATE TABLE IF NOT EXISTS " + BanksTable.NAME +" ( " +BanksTable.COL_ID + "
integer PRIMARY KEY **autoincrement**, "+ BanksTable.COL_NAME + " varchar, " +
BanksTable.COL_IMAGE_URL + " varchar," + BanksTable.COL_IMAGE + " blob);");
I ended up this problem by changing parameter to name. Its weird but I still don't know why it was not working.
I was getting bank id like 0,1,2,3,4 maybe it is not allowed in SQLite or internally affecting it but still I am not sure.
cursor = this.db.rawQuery("select * from " + BanksTable.NAME + " where " + BanksTable.COL_NAME + "='" + bankName + "'" , null);
Here is my approach to get custem object from sqlite db
fun getTaskById(itemId: Int): ModelTask {
val food= ModelTask()
val database = readableDatabase
val kolonlar = arrayOf(DBContract.TaskEntry.COLUMN_T_ID,
DBContract.TaskEntry.COLUMN_T_TITLE,
DBContract.TaskEntry.COLUMN_T_DESC,
DBContract.TaskEntry.COLUMN_T_TIME,
DBContract.TaskEntry.COLUMN_T_PRIORITY,
DBContract.TaskEntry.COLUMN_T_DATE,
DBContract.TaskEntry.COLUMN_T_DONE)
val whereClause = DBContract.TaskEntry.COLUMN_T_ID + " = ? "
val whereArgs = arrayOf(itemId.toString())
val cursor = database.query( DBContract.TaskEntry.TABLE_NAME_TASK, kolonlar, whereClause, whereArgs,
null, null, DBContract.TaskEntry.COLUMN_T_ID + " DESC")
while (cursor.moveToNext()) {
food.id = cursor.getInt(cursor.getColumnIndex(DBContract.TaskEntry.COLUMN_T_ID))
food.title = cursor.getString(cursor.getColumnIndex(DBContract.TaskEntry.COLUMN_T_TITLE))
food.description = cursor.getString(cursor.getColumnIndex(DBContract.TaskEntry.COLUMN_T_DESC))
food.time = cursor.getString(cursor.getColumnIndex(DBContract.TaskEntry.COLUMN_T_TIME))
food.priority = cursor.getString(cursor.getColumnIndex(DBContract.TaskEntry.COLUMN_T_PRIORITY))
food.date = cursor.getString(cursor.getColumnIndex(DBContract.TaskEntry.COLUMN_T_DATE))
food.done = cursor.getInt(cursor.getColumnIndex(DBContract.TaskEntry.COLUMN_T_DONE))
}
database.close()
cursor.close()
return foodList
}