I am trying to get some data from user profile, but it doesn\'t find the column. I already check space between every query and it seems nothing wrong. Till now i can\'t see the
Use this
String selectQuery = "SELECT * FROM " + TABLE_PROFILE + " WHERE " + KEY_USER_EMAIL + " = " + "'" + username + "'";
Value of username needs to be passed as a string.
In SQL, string literals must be quoted.
However, to avoid formatting problems like this (and SQL injection attacks), use parameters instead:
Cursor c = db.rawQuery("SELECT * FROM " + TABLE_PROFILE +
" WHERE " + KEY_USER_EMAIL + " = ?",
new String[]{ username });
Isn't the KEY_USER_EMAIL column a string type? If that's the case, your where clause WHERE " + KEY_USER_EMAIL + " = " + username is trying to refer to the column value as KEY_USER_EMAIL = test1, whereas it should really refer / use it as,
KEY_USER_EMAIL = 'test1' Just change your Where clause to like this -
SELECT * FROM " + TABLE_PROFILE + " WHERE " + KEY_USER_EMAIL + " = '" + username + "'"