Я новичок, и я хочу спросить о проблеме, с которой я столкнулся в своем приложении. Я пытаюсь войти с данными, которые я поместил в базу данных, но она ничего не распознает. Вот код файла DatabaseHelper
Java. Я думаю, что проблема с моей checkData_pseudo_pass
функцией. Заранее благодарим за ответ!
DatabaseHelper. java
package com.example.tp5;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DatabaseHelper extends SQLiteOpenHelper {
public static final String DATABASE_NAME = "database.db";
public static final String TABLE_NAME = "tp4_table";
/*
public static final String COL_1 = "ID";
public static final String COL_2 = "NOM";
public static final String COL_3 = "PRENOM";
public static final String COL_4 = "PSEUDO";
public static final String COL_5 = "PASS";
*/
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table " + TABLE_NAME +" (ID INTEGER PRIMARY KEY AUTOINCREMENT,NOM TEXT,PRENOM TEXT,PSEUDO TEXT,PASS TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS "+TABLE_NAME);
onCreate(db);
}
public boolean InsererData(String nom, String prenom, String pseudo, String pass){
SQLiteDatabase sqLiteDatabase = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put("nom",nom);
contentValues.put("prenom",prenom);
contentValues.put("pseudo", pseudo);
contentValues.put("pseudo", pass);
long result = sqLiteDatabase.insert(TABLE_NAME, null, contentValues);
if(result == -1){
return false;
}else{
return true;
}
}
/*
public boolean insertData(String nom, String prenom, String pseudo, String pass) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(COL_2,nom);
contentValues.put(COL_3,prenom);
contentValues.put(COL_4,pseudo);
contentValues.put(COL_5,pass);
long result = db.insert(TABLE_NAME,null ,contentValues);
if(result == -1)
return false;
else
return true;
}
*/
public Cursor getAllData() {
SQLiteDatabase db = this.getWritableDatabase();
Cursor res = db.rawQuery("select * from "+TABLE_NAME,null);
return res;
}
/*
public Boolean checkData_Pass(String pass){
SQLiteDatabase db = this.getWritableDatabase();
Cursor res_pass = db.rawQuery("select * from tp4_table where PASS=? ",new String[]{pass});
if(res_pass.getCount()>0) return false;
else {
return true;
}
}
*/
public Boolean checkData_pseudo_pass(String pseudo, String pass){
SQLiteDatabase db = this.getReadableDatabase();
Cursor res_unique = db.rawQuery("select * from tp4_table where PSEUDO=? and PASS=?", new String[]{pseudo, pass});
if(res_unique.getCount()>0) return false;
else {
return true;
}
}
}
MainActivity3. java
package com.example.tp5;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity3 extends AppCompatActivity{
DatabaseHelper myDb_connexion; // création de l'objet mydb de type DatabaseHelper
private Button valider_connexion2 = null;
private EditText pseudo_connexion = null;
private EditText pass_connexion = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activitymain3);
myDb_connexion = new DatabaseHelper(this);
valider_connexion2 = findViewById(R.id.button3);
pseudo_connexion = findViewById(R.id.edit_pseudo_connexion);
pass_connexion = findViewById(R.id.edit_pass_connexion);
//EditText textView_pseudo = (EditText) findViewById(R.id.edit_pseudo_connexion);
//EditText textView_pass = (EditText) findViewById(R.id.edit_pass_connexion);
valider_connexion2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String _str_pseudo = pseudo_connexion.getText().toString().trim();
String _str_pass = pass_connexion.getText().toString().trim();
Intent intent3 = new Intent(MainActivity3.this, MainActivity4.class);
Boolean check_Pseudo_Pass = myDb_connexion.checkData_pseudo_pass(_str_pseudo, _str_pass);
//Si Check_Pseudo_Pass affiche le pseudo et le pass
//if (check_Pseudo_Pass == true && !str_pseudo.equals("") && !str_pass.equals(""))
if (check_Pseudo_Pass == true)
{
intent3.putExtra("pseudo", _str_pseudo);
intent3.putExtra("pass", _str_pass);
startActivity(intent3);
Toast.makeText(MainActivity3.this,"Connexion réussie !",Toast.LENGTH_SHORT).show();
}
else {
Toast.makeText(MainActivity3.this,"Connexion raté !",Toast.LENGTH_SHORT).show();
}
// Question 7:Connexion unique Login="Admin",pass="root" et Extra enregistre le pseudo et le mot de passe pour le récupérer à la pas MainActivité
/*
Intent intent3 = new Intent(MainActivity3.this, MainActivity4.class);
// if (!str_pseudo.equals("") && !str_pass.equals("") ) {
if (str_pseudo.equals("Admin") && str_pass.equals("root") ) {
intent3.putExtra("pseudo", str_pseudo);
intent3.putExtra("pass", str_pass);
Toast.makeText(MainActivity3.this,"Connexion réussie !",Toast.LENGTH_SHORT).show();
startActivity(intent3);
}else{
Toast.makeText(MainActivity3.this,"Connexion raté !",Toast.LENGTH_SHORT).show();
}
*/
}
});
}
}