Android Select row by Id in Sqlite?

前端 未结 3 1343
无人及你
无人及你 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:29

    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);");
    
    0 讨论(0)
  • 2020-12-17 16:30

    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);
    
    0 讨论(0)
  • 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
    }
    
    0 讨论(0)
提交回复
热议问题