0

With following code

resultSet = mydatabase.rawQuery("Select * from devicelog  ", null);
        Log.e("SyncService", "query fiered..");
        if (resultSet.moveToFirst()) {
            Log.e("SyncService", "moved to first..");
            do {
                Log.e("DB_R", "id: " + resultSet.getInt(resultSet.getColumnIndex("id")));
                Log.e("DB_R", "type: " + resultSet.getString(resultSet.getColumnIndex("type")));
                Log.e("DB_R", "action: " + resultSet.getString(resultSet.getColumnIndex("action")));
                Log.e("DB_R", "oldvalue: " + resultSet.getString(resultSet.getColumnIndex("oldvalue")));
                Log.e("DB_R", "newvalue: " + resultSet.getString(resultSet.getColumnIndex("newvalue")));
                Log.e("DB_R", "devicedt: " + resultSet.getString(resultSet.getColumnIndex("devicedt")));
                Log.e("DB_R", "batterysts: " + resultSet.getDouble(resultSet.getColumnIndex("batterysts")));
                Log.e("DB_R", "syncdt: " + resultSet.getString(resultSet.getColumnIndex("syncdt")));
                Log.e("DB_R", "deviceid: " + resultSet.getString(resultSet.getColumnIndex("deviceid")));
            } while (resultSet.moveToNext());
        }
        if (resultSet != null && !resultSet.isClosed()) {
            resultSet.close();
        }

        if (mydatabase != null && mydatabase.isOpen()) {
            mydatabase.close();
        }
        Log.e("SyncService", "query closed..");

I am getting following output in adb logcat

10-15 19:46:33.233: E/SyncService(2446): b4 try..
10-15 19:46:33.294: E/SyncService(2446): query fiered..
10-15 19:46:33.294: E/SyncService(2446): moved to first..
10-15 19:46:33.324: E/DB_R(2446): id: 1
10-15 19:46:33.324: E/DB_R(2446): type: SETTINGS
10-15 19:46:33.324: E/DB_R(2446): action: IP changed
10-15 19:46:33.333: E/DB_R(2446): oldvalue: 0.0.0.0:0
10-15 19:46:33.333: E/DB_R(2446): newvalue: 10.20.30.40:50
10-15 19:46:33.333: E/DB_R(2446): devicedt: 2014-10-15 11:01:40
10-15 19:46:33.355: E/DB_R(2446): batterysts: 0.5
10-15 19:46:33.355: E/DB_R(2446): syncdt: null
10-15 19:46:33.355: E/DB_R(2446): deviceid: e4:2d:02:0f:8f:4a
10-15 19:46:33.355: E/SyncService(2446): query closed..

So one record exist with syncdt = null. But when I fire following query with same code

resultSet = mydatabase.rawQuery("Select * from devicelog where syncdt = null ", null);

I am getting empty cursor as follows:

10-15 19:50:49.957: E/SyncService(2530): b4 try..
10-15 19:50:50.117: E/SyncService(2530): query fiered..
10-15 19:50:50.157: E/SyncService(2530): query closed..

Am I using wrong way to check for null values?

1
  • maybe syncdt is not "null" as string but empty? Commented Oct 15, 2014 at 14:36

1 Answer 1

1

To get null values in where use is null,So change your query from

resultSet = mydatabase.rawQuery("Select * from devicelog where syncdt = null ", null);

to

resultSet = mydatabase.rawQuery("Select * from devicelog where syncdt is null", null);
Sign up to request clarification or add additional context in comments.

1 Comment

@Ankit Happy to help,enjoy.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.