使用sqlite数据库进行Java登录
大家好,我需要帮助,因为我有逻辑问题,我不知道我的代码中有什么问题,我创建了classe DB_SQLite,我编写了这个函数使用sqlite数据库进行Java登录,java,android-studio,login,Java,Android Studio,Login,大家好,我需要帮助,因为我有逻辑问题,我不知道我的代码中有什么问题,我创建了classe DB_SQLite,我编写了这个函数 public Boolean loginValidation(String email, String password){ Boolean ResFunct = false; SQLiteDatabase db = this.getReadableDatabase(); Cursor res = db.rawQuery("select *
public Boolean loginValidation(String email, String password){
Boolean ResFunct = false;
SQLiteDatabase db = this.getReadableDatabase();
Cursor res = db.rawQuery("select * from login",null);
res.moveToFirst();
while(res.isAfterLast()== false){
String idDb = res.getString(res.getColumnIndex("ID"));
String emailDb = res.getString(res.getColumnIndex("email"));
String passwordDb = res.getString(res.getColumnIndex("password"));
String nomDb = res.getString(res.getColumnIndex("nom"));
String prenomDb = res.getString(res.getColumnIndex("prenom"));
if(email == emailDb && password == passwordDb){
ResFunct=true;
break;
}
else{
res.moveToNext();
}
}
return ResFunct;
}
我创建事件onClick-in按钮join
View.OnClickListener onjoin = new View.OnClickListener() {
@Override
public void onClick(View view) {
// Toast.makeText(MainActivity.this,"Join ...",Toast.LENGTH_SHORT).show();
String NomComplet;
Boolean Valide = false;
emailString = email.getText().toString();
passwordString = password.getText().toString();
Valide = db.loginValidation(emailString, passwordString);
if (Valide == true){
NomComplet = db.loginReturnNomComplet(emailString, passwordString);
Intent intent = new Intent(MainActivity.this, Join.class);
intent.putExtra("NomComplet",NomComplet);
startActivity(intent);
}
if (Valide == false){
AlertDialog.Builder a_builder = new AlertDialog.Builder(MainActivity.this);
a_builder.setMessage("Your information is incorect").setCancelable(false).setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.cancel();
}
});
AlertDialog alert = a_builder.create();
alert.setIcon(R.drawable.fff);
alert.setTitle("Error");
alert.show();
}
}
};
join.setOnClickListener(onjoin);
但是函数return just false也是当我输入valide email和password correct来比较两个字符串时,您需要使用
.equals()
而不是=
,否则它们不会被比较。所以你需要像这样重写你的条件:
if(email.equals(emailDb) && password.equals(passwordDb))
您的代码是否输入了
while
语句?是,代码输入while语句@yassadimaybe条件if语句