WHERE clause not working for SQLite Android : I am currently doing an Android application with a SQLite database and I want to create a method that will retrieve all tasks that are associated to one owner, but the application cannot retrieve them but instead return me an exception. How can I solve this?

This is the code for the database:

public class SchedulerDbHelper extends SQLiteOpenHelper {

    public static final int DATABASE_VERSION = 1;
    public static final String DATABASE_NAME = "scheduler.db";
    public static final String TABLE_NAME = "SCHEDULER_TABLE";
    public static final String TASK_NAME = "NAME";
    public static final String TASK_YEAR = "YEAR";
    public static final String TASK_MONTH = "MONTH";
    public static final String TASK_DAY = "DAY";
    public static final String TASK_HOUR = "HOUR";
    public static final String TASK_MINUTE = "MINUTE";
    public static final String TASK_DESCRIPTION = "DESCRIPTION";
    public static final String TASK_OWNER = "OWNER";

    public SchedulerDbHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        String query = "CREATE TABLE " + TABLE_NAME + "(" + TASK_NAME + " TEXT PRIMARY KEY, " +
                TASK_YEAR + " INTEGER, " + TASK_MONTH + " INTEGER, " + TASK_DAY + " INTEGER, " +
                TASK_HOUR + " INTEGER, " + TASK_MINUTE + " INTEGER, " + TASK_DESCRIPTION + " TEXT, " +
                TASK_OWNER + " TEXT" + ")";
        sqLiteDatabase.execSQL(query);
    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
        String query = "DROP TABLE IF EXISTS " + TABLE_NAME;
        sqLiteDatabase.execSQL(query);
        onCreate(sqLiteDatabase);
    }

    public void addTask(Task task) {
        SQLiteDatabase db = this.getWritableDatabase();

        ContentValues values = new ContentValues();

        values.put(TASK_NAME, task.getTaskName());
        values.put(TASK_YEAR, task.getYear());
        values.put(TASK_MONTH, task.getMonth());
        values.put(TASK_DAY, task.getDay());
        values.put(TASK_HOUR, task.getHour());
        values.put(TASK_MINUTE, task.getMinute());
        values.put(TASK_DESCRIPTION, task.getDescription());
        values.put(TASK_OWNER, loginID);

        db.insert(TABLE_NAME, null, values);
        db.close();
    }

    public Task getTask(String taskName){
        SQLiteDatabase db = this.getReadableDatabase();

        Cursor cursor = db.query(TABLE_NAME, new String[]{TASK_NAME, TASK_YEAR, TASK_MONTH, TASK_DAY, TASK_HOUR, TASK_MINUTE, TASK_DESCRIPTION, TASK_OWNER}, TASK_NAME + " =?",
                new String[]{taskName}, null, null, null, null);

        if (cursor != null){
            cursor.moveToFirst();
        }

        Task task = new Task(cursor.getString(0), Integer.parseInt(cursor.getString(1)), Integer.parseInt(cursor.getString(2)),
                Integer.parseInt(cursor.getString(3)), Integer.parseInt(cursor.getString(4)), Integer.parseInt(cursor.getString(5)),
                cursor.getString(6)) ;

        return task;
    }

    public ArrayList<Task> getAllTask(){
        ArrayList<Task> taskList = new ArrayList<>();

        String selectQuery = "SELECT * FROM " + TABLE_NAME;

        SQLiteDatabase db = this.getWritableDatabase();
        Cursor cursor = db.rawQuery(selectQuery, null);

        if (cursor.moveToFirst()) {
            do {
                Task task = new Task();
                task.setTaskName(cursor.getString(0));
                task.setYear(Integer.parseInt(cursor.getString(1)));
                task.setMonth(Integer.parseInt(cursor.getString(2)));
                task.setDay(Integer.parseInt(cursor.getString(3)));
                task.setHour(Integer.parseInt(cursor.getString(4)));
                task.setMinute(Integer.parseInt(cursor.getString(5)));
                task.setDescription(cursor.getString(6));
                taskList.add(task);

            } while (cursor.moveToNext());
        }

        return taskList;
    }

    public int updateTask(Task task){
        SQLiteDatabase db = this.getWritableDatabase();

        ContentValues values = new ContentValues();
        values.put(TASK_NAME, task.getTaskName());
        values.put(TASK_YEAR, task.getYear());
        values.put(TASK_MONTH, task.getMonth());
        values.put(TASK_DAY, task.getDay());
        values.put(TASK_HOUR, task.getHour());
        values.put(TASK_MINUTE, task.getMinute());
        values.put(TASK_DESCRIPTION, task.getDescription());

        return db.update(TABLE_NAME, values, TASK_NAME + "=?", new String[]{task.getTaskName()});
    }

    public void deleteTask(Task task){
        SQLiteDatabase db = this.getWritableDatabase();
        db.delete(TABLE_NAME, TASK_NAME + "=?", new String[]{task.getTaskName()});
        db.close();
    }

    public int getTaskCount() {
        String countQuery = "SELECT * FROM " + TABLE_NAME;
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = db.rawQuery(countQuery, null);
        cursor.close();

        return cursor.getCount();
    }

    public ArrayList<Task> getAllTaskForUser(){
        ArrayList<Task> taskList = new ArrayList<>();

        String selectQuery = "SELECT * FROM " + TABLE_NAME + " WHERE " + TASK_OWNER + " = " + loginID;

        SQLiteDatabase db = this.getWritableDatabase();
        Cursor cursor = db.rawQuery(selectQuery, null);

        if (cursor.moveToFirst()) {
            do {
                Task task = new Task();
                task.setTaskName(cursor.getString(0));
                task.setYear(Integer.parseInt(cursor.getString(1)));
                task.setMonth(Integer.parseInt(cursor.getString(2)));
                task.setDay(Integer.parseInt(cursor.getString(3)));
                task.setHour(Integer.parseInt(cursor.getString(4)));
                task.setMinute(Integer.parseInt(cursor.getString(5)));
                task.setDescription(cursor.getString(6));
                taskList.add(task);
                loginID = cursor.getString(7);

            } while (cursor.moveToNext());
        }

        return taskList;
    }

}

This is the code for the main fragment running the database:

public class SchedulerFragment extends android.support.v4.app.Fragment {

    ListView listViewTaskList;
    ArrayList<Task> taskList;
    SchedulerDbHelper taskDb;
    public static String taskPrimary;


    public SchedulerFragment() {
        // Required empty public constructor
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.fragment_scheduler, container, false);
    }

    @Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);

        getActivity().setTitle("Scheduler");

        taskDb = new SchedulerDbHelper(getActivity());
        taskList = taskDb.getAllTaskForUser();
        Iterator<Task> i = taskList.iterator();
        String[] taskNameArray = new String[taskList.size()];
        int index = 0;
        FloatingActionButton floatingActionButtonNewTask = getView().findViewById(R.id.floatingActionButtonNewTask);
        listViewTaskList = getView().findViewById(R.id.listViewTaskList);

        while(i.hasNext()){
            Task t = i.next();
            taskNameArray[index] = t.getTaskName();
            index++;
        }

        try {
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, taskNameArray);
            listViewTaskList.setAdapter(adapter);
        } catch (RuntimeException r1) {

        }

        listViewTaskList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                String taskName = adapterView.getItemAtPosition(i).toString();
                taskPrimary = taskName;
                TaskDetailFragment tdf = new TaskDetailFragment();
                FragmentManager manager = getFragmentManager();
                manager.beginTransaction().replace(R.id.frameLayoutContent, tdf, tdf.getTag()).commit();
            }
        });



        floatingActionButtonNewTask.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                NewSchedulerFragment nsf = new NewSchedulerFragment();
                FragmentManager manager = getFragmentManager();
                manager.beginTransaction().replace(R.id.frameLayoutContent, nsf, nsf.getTag()).commit();

            }
        });
    }
}

And this is the exception that I got:

    E/AndroidRuntime: FATAL EXCEPTION: main
                  Process: com.example.android.eduhub, PID: 6873
                  java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.android.eduhub/com.example.android.eduhub.ContentMainActivity}: android.database.sqlite.SQLiteException: no such column: tth980409 (code 1): , while compiling: SELECT * FROM SCHEDULER_TABLE WHERE OWNER = tth980409
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646)
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
                      at android.app.ActivityThread.-wrap12(ActivityThread.java)
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
                      at android.os.Handler.dispatchMessage(Handler.java:102)
                      at android.os.Looper.loop(Looper.java:154)
                      at android.app.ActivityThread.main(ActivityThread.java:6077)
                      at java.lang.reflect.Method.invoke(Native Method)
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
                   Caused by: android.database.sqlite.SQLiteException: no such column: tth980409 (code 1): , while compiling: SELECT * FROM SCHEDULER_TABLE WHERE OWNER = tth980409
                      at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
                      at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
                      at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
                      at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
                      at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
                      at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
                      at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
                      at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1318)
                      at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1257)
                      at com.example.android.eduhub.SchedulerDbHelper.getAllTaskForUser(SchedulerDbHelper.java:143)
                      at com.example.android.eduhub.SchedulerFragment.onViewCreated(SchedulerFragment.java:55)
                      at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1430)
                      at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1740)
                      at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1809)
                      at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:799)
                      at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2580)
                      at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2367)
                      at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2322)
                      at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2229)
                      at android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3221)
                      at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3171)
                      at android.support.v4.app.FragmentController.dispatchActivityCreated(FragmentController.java:192)
                      at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:560)
                      at android.support.v7.app.AppCompatActivity.onStart(AppCompatActivity.java:177)
                      at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1248)
                      at android.app.Activity.performStart(Activity.java:6679)
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2609)
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707) 
                      at android.app.ActivityThread.-wrap12(ActivityThread.java) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460) 
                      at android.os.Handler.dispatchMessage(Handler.java:102) 
                      at android.os.Looper.loop(Looper.java:154) 
                      at android.app.ActivityThread.main(ActivityThread.java:6077) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756) 
Application terminated.