检查数据是否已存在于sqlite数据库中

时间:2015-01-24 08:25:23

标签: android sqlite

我从parse获取了一行的objectId。我在sqlite数据库中保存了相同的objectId,用于将其发送到解析的相应对象。

String objectId = archiveNotes.getObjectId();

然后,我正在查看数据库中是否存在具有相同objectId的行:

tasks_Database_Operations tasksDatabaseOperations = new tasks_Database_Operations(getApplicationContext());

                SQLiteDatabase database = tasksDatabaseOperations.getReadableDatabase();
                Log.d("HirakDebug", "Got readable database");
                String tablename = tasks_Database_Operations.ASSIS_NOTES_TABLE_NAME;
                String where = tasks_Database_Operations.ASSIS_NOTES_PARSE_OBJECT_ID + "=?";
                String[] whereArgs = new String[]{objectId};
                Cursor cursor = database.query(tablename, null, where, whereArgs, null, null, null);

                if (cursor.moveToFirst()){
                    Log.d("HirakDebug", "SQHelper PArse sync data exist");

                } else {
                    Log.d("HirakDebug", "SQHelper PArse sync data doesnt exist");
                    tasksDatabaseOperations.putFromParse(objectId, archived, color, date, locked, note, title);
                    Log.d("HirakDebug", "Got from parse " + objectId + " " + archived + " " +
                            color + " " + date + " " + locked + " " + note + " " + title);
                }

但是,我没有在logcat中看到if ... else statemenet中的任何一个Logs。这意味着它们都没有被执行。我都没有收到任何错误。

任何人都可以找到我在做错的地方吗?

1 个答案:

答案 0 :(得分:0)

首先,请你写下你想要执行的SQL句子吗?

其次,你真的想在列的第二个参数上传递NULL吗?

第三,你有没有尝试用db.rawQuery替换database.query,看看会发生什么?,如果有的话请告诉我。

由于