I have a project to make login page with multi level user login in android studio using SQLite database on phone, and i only can made basic login app, do you guys have some reference for this problem? Thanks in advance and sorry for my bad English.
This the code for user level:
if (databaseHelper.checkUser(textInputEditTextEmail.getText().toString.trim(), text InputEditTextPassword.getText().toString.trim())) //when user successfully login
{
Cursor userLevel;
userLevel.databaseHelper.checkAdmin(textInputEditTextEmail.getText().toString().trim()); //get user level from database userLevel.moveToFirst();
int level = userLevel.getInt(0); //convert Cursor data to Int if(level==1){ //go to userActivity.class
}
else
{
// go to registerActivity.class
}
and this code for get user level from database:
public Cursor checkAdmin(String email)
{
SQLiteDatabase db = this.getReadableDatabase();
Cursor res = db.rawQuery("select level from "+ TABLE_USER+ "where email ="+email, null);
return res;
}
Any idea where are my mistake?
thanks guys, i had finish my project, the mistake was in the query, i missed double qoutes in WHERE
condition, the code shoulde be like this:
public Cursor checkAdmin (String email){
SQLiteDatabase db = this.getReadableDatabase();
Cursor res = db.rawQuery("SELECT user_level FROM"+TABLE_USER+" WHERE user_email = \""+email+"\"",null);
return res;
}
and all we have to do is convert res to integer then use this code :
if (databaseHelper.checkUser(textInputEditTextEmail.getText().toString.trim(), text InputEditTextPassword.getText().toString.trim()))
{ //when user successfully login
Cursor userLevel;
userLevel = databaseHelper.checkAdmin(textInputEditTextEmail.getText().toString().trim()); //get user level from database
userLevel.moveToFirst(); //convert Cursor data to Int
int level = userLevel.getInt(0); //convert Cursor data to Int
if(level==1){
//go to userActivity.class
}
else
{
//go to registerActivity.class
}
Thanks guys, hope this code can help you all.