Android Select row by Id in Sqlite?

前端 未结 3 1358
无人及你
无人及你 2020-12-17 15:49

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

3条回答
  •  暗喜
    暗喜 (楼主)
    2020-12-17 16:48

    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
    }
    

提交回复
热议问题