Bonsoir j'ai une Erreur qui m'empeche de continuer mon signup

Asked

Viewed 17 times

0

Le dataHelper est la

package estm.sn.ecommerce.base;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;


public class DatabaseHelperUser extends SQLiteOpenHelper {

    static  int version=1;
    public static final String DATABASE_NAME = "riitashop.db";
    SQLiteDatabase db = this.getWritableDatabase();


    public DatabaseHelperUser( Context context) {
        super(context, DATABASE_NAME, null, version);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(DatabaseUser.tableUserQueries.SQL_CREATE_USER);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL(DatabaseUser.tableUserQueries.SQL_DELETE_TABLE);
    }

    @Override
    public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        super.onDowngrade(db, oldVersion, newVersion);
    }

    //insertion dans la base
    public boolean insertUser(String login, String nom, String email ,String password, String uppassword){
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put(DatabaseUser.TableUser.COLUMN_TABLE_LOGIN,login);
        values.put(DatabaseUser.TableUser.COLUMN_TABLE_NOM,nom);
        values.put(DatabaseUser.TableUser.COLUMN_TABLE_EMAIL,email);
        values.put(DatabaseUser.TableUser.COLUMN_TABLE_MDP,password);
        values.put(DatabaseUser.TableUser.COLUMN_TABLE_CONF,uppassword);

        long result = db.insert(DatabaseUser.TableUser.TABLE_NAME,null,values);

        if (result==-1)
            return false;
        else
            return true;


    }

    // verifier si le login existe
    public Boolean chklogin(String login){
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = db.rawQuery("select * from user where login= ? ", new String[]{login});
        if (cursor.getCount()>0)
        {  return false;
        }

        else
            return true;
    }
    // verifier le login & mdp

    public Boolean loginMdp(String login, String password){
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = db.rawQuery("select * from user where login = ? and mdp = ? ",new String[]{login,password});
        if (cursor.getCount()>0) return true;
        else return false;
    }
}

La Partie Registration

package estm.sn.ecommerce;

import androidx.appcompat.app.AppCompatActivity;

import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import java.net.DatagramSocket;

import butterknife.ButterKnife;
import estm.sn.ecommerce.base.DatabaseHelperUser;

public class Registrer extends AppCompatActivity {

    TextView compte;
    EditText nom,email,login,password,confpassword;
    Button registrer;
    DatabaseHelperUser databaseHelperUser;

    private static final String TAG = "SignupActivity";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_registrer);
        ButterKnife.inject(this);

       nom=(EditText)findViewById(R.id.input_nom);
        email=(EditText)findViewById(R.id.input_email);
        login=(EditText)findViewById(R.id.input_login);
        password=(EditText)findViewById(R.id.input_password);
        confpassword=(EditText)findViewById(R.id.input_reEnterPassword);
        compte=(TextView)findViewById(R.id.link_login);
        registrer=(Button)findViewById(R.id.btn_signup);


        registrer.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                signup();
            }

        });
        compte.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // Finish the registration screen and return to the Login activity
                Intent intent = new Intent(getApplicationContext(),Login.class);
                startActivity(intent);
                finish();
                overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out);
            }
        });

    }



    public void signup(){
        Log.d(TAG, "Registrer");

        if (!validate()) {
            onSignupFailed();
            return;
        }
        registrer.setEnabled(false);

        final ProgressDialog progressDialog = new ProgressDialog(Registrer.this,
                R.style.AppTheme_Dark_Dialog);
        progressDialog.setIndeterminate(true);
        progressDialog.setMessage("Création de compte...");
        progressDialog.show();

     /**   final String nomR = nom.getText().toString();
        final String emailR = email.getText().toString();
        final String loginR = login.getText().toString();
        final String passwordR = password.getText().toString();
        final String confpass = confpassword.getText().toString();
      **/
        // TODO: Implement your own signup logic here.

        new android.os.Handler().postDelayed(
                new Runnable() {
                    public void run() {
                        // On complete call either onSignupSuccess or onSignupFailed
                        // depending on success

                        onSignupSuccess();

                        // onSignupFailed();
                        progressDialog.dismiss();
                    }
                }, 3000);

    }

    // registration réussie
    public void onSignupSuccess(){
       registrer.setEnabled(true);
        setResult(RESULT_OK, null);
        finish();

    }

    // registration échouée

    public void onSignupFailed(){
        Toast.makeText(getBaseContext(), "Registration echoué", Toast.LENGTH_LONG).show();

        registrer.setEnabled(true);
    }


    //validation
    public boolean validate(){
        boolean valid = true;

        String nomR = nom.getText().toString();
        String emailR = email.getText().toString();
        String loginR = login.getText().toString();
        String passwordR = password.getText().toString();
        String confpass = confpassword.getText().toString();
        Log.d("nom", nomR);
        Log.d("login", loginR);


            if (passwordR.isEmpty() || passwordR.length() < 3) {
                password.setError("at least 3 characters");
                valid = false;
            } else {
                password.setError(null);
            }

            if (loginR.isEmpty()) {
                login.setError("Renseignez le login");
                valid = false;
            } else {
                login.setError(null);
            }

            if (nomR.isEmpty()) {
                nom.setError("Renseignez le nom");
                valid = false;
            } else {
                nom.setError(null);
            }


            if (emailR.isEmpty() || !android.util.Patterns.EMAIL_ADDRESS.matcher(emailR).matches()) {
                email.setError("Renseignez le mail");
                valid = false;
            } else {
                email.setError(null);
            }

            if (passwordR.isEmpty() || passwordR.length() < 4 || passwordR.length() > 10) {
                password.setError("Le mot de passe doit etre compris entre 4 et 10 caractéres");
                valid = false;
            } else {
                password.setError(null);
            }

            if (confpass.isEmpty() || confpass.length() < 4 || confpass.length() > 10 ) {
                confpassword.setError("Les mots de passes ne sont pas identiques");
                valid = false;
            } else {
                confpassword.setError(null);
            }
            if(confpass.equals(passwordR)) {
                databaseHelperUser = new DatabaseHelperUser(this);
                Boolean chklogin=databaseHelperUser.chklogin(loginR);
                if (chklogin==true){
                    Boolean insert = databaseHelperUser.insertUser(loginR,nomR,emailR,passwordR,confpass);
                    if (insert==true){
                        Toast.makeText(Registrer.this, "Registration réussie ", Toast.LENGTH_SHORT).show();
                    }

                }
            }

            return valid;
        }

}

More to Chaque fois que je fais la raison il y a Cette Erreur qui revient toujours

D/nom: codou D/login: codoufall E/Sqlitelog: (1) no such column: login D/Androidruntime: Shutting down VM E/Androidruntime: FATAL EXCEPTION: main Process: estm.sn.Ecommerce, PID: 12764 android.database.sqlite.Sqliteexception: no such column: login (code 1): while compiling: select * from user Where login= ? 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.(Sqliteprogram.java:58) at android.database.sqlite.SQLiteQuery.(Sqlitequery.java:37) at android.database.sqlite.SQLiteDirectCursorDriver.query(Sqlitedirectcursordriver.java:44) at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(Sqlitedatabase.java:1316) at android.database.sqlite.SQLiteDatabase.rawQuery(Sqlitedatabase.java:1255) at estm.sn.Ecommerce.base.Databasehelperuser.chklogin(Databasehelperuser.java:59) at estm.sn.Ecommerce.Registrer.validate(Registrer.java:178) at estm.sn.Ecommerce.Registrer.signup(Registrer.java:69) at estm.sn.Ecommerce.Registrer$1.onClick(Registrer.java:47) at android.view.View.performClick(View.java:4780) at android.view.View$Performclick.run(View.java:19866) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.Activitythread.main(Activitythread.java:5254) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.Internal.os.Zygoteinit$Methodandargscaller.run(Zygoteinit.java:903) at com.android.Internal.os.Zygoteinit.main(Zygoteinit.java:698)

  • Avez-vous créé la colonne "login" dans le Tableau?

  • Quelles informations Cette variable possède-t-Elle: DatabaseUser.tableUserQueries.SQL_CREATE_USER?

  • public static final String SQL_CREATE_USER =&#xA; "CREATE TABLE IF NOT EXISTS "+&#xA; TableUser.TABLE_NAME+" ("+&#xA; TableUser.COLUMN_TABLE_ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"+TableUser.COLUMN_TABLE_LOGIN + "TEXT, "+ TableUser.COLUMN_TABLE_NOM + " TEXT, "+&#xA;TableUser.COLUMN_TABLE_EMAIL +" TEXT, "+&#xA;TableUser.COLUMN_TABLE_CONF +" TEXT,"+&#xA; TableUser.COLUMN_TABLE_MDP +" TEXT )";&#xA;public static final String SQL_DELETE_TABLE =DROP TABLE IF EXIST "+TableUser.TABLE_NAME;

  • Il ne trouve pas la colonne login

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.