Aller au contenu

Base de donnée et interface de connexion


Recommended Posts

Bonjour,

 

Je suis actuellement en dernier année de BTS informatique et j'ai pour projet de developper une application de connexion a une base de donnée et d'affichage des données présente dessus.

 

Pour le moment j'arrive a me connecter dessus mais je souhaite faire une interface ou je devrais entrer un login et mot de passe.

package com.example.dylan.myapplication;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;



public class MainActivity extends ActionBarActivity {


    Connection connexion=null;
    Statement statement=null;
    Thread threadpremium= null;
    Button test = null;
    EditText identifiant = null;
    EditText password = null;
    String url= "jdbc:mysql://172.22.18.8:3306/mabase";
    String utilisateur= "MaBase";
    String motDePasse= "Mocopoc0*";
    String Message= new String();
    String yolo = null;
    String yolo1 = null;
    ResultSet truc = null;
    ResultSet truc1 = null;




    @[member=override]
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);



        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            Log.i(Message, "Driver JDBC chargé");
        }
        catch(ClassNotFoundException e)
        {
            Log.i(Message, "erreur de chargement du driver JDBC"+e.getMessage());
        }
        catch(IllegalAccessException e)
        {
            Log.i(Message, "erreur de chargement 2"+e.getMessage());
        }
        catch(InstantiationException e)
        {
            Log.i(Message, "erreur de chargement 3"+e.getMessage());
        }

        // pour la connexion
        threadpremium= new Thread(runConnect);
        if(threadpremium!=null)
        {
            threadpremium.start();
            Log.i(Message, "thread premium est crée"+threadpremium.isAlive());
        }
        else
        {
            Log.i(Message, "probleme de création de thread premium");
        }

        setContentView(R.layout.activity_main);

        test = (Button)findViewById(R.id.connect);

        test.setOnClickListener(new View.OnClickListener() {
            @[member=override]
            public void onClick(View v) {
                identifiant = (EditText)findViewById(R.id.makeident);
                yolo = identifiant.getText().toString();
                Toast.makeText(MainActivity.this, yolo,Toast.LENGTH_LONG).show();
                truc = statement.executeQuery("SELECT nom FROM login");


                password = (EditText)findViewById(R.id.makepass);
                yolo1 = password.getText().toString();
                truc1  = statement.executeQuery("SELECT password FROM login");

            }
        }


        );

    }



    private Runnable runConnect =new Runnable()
    {
        public void run()
        {
            //handler.sendEmptyMessage(-1);
            Log.i(Message, "Thread start");
            if(connexion==null)
            {
                try
                {
                    connexion= DriverManager.getConnection(url, utilisateur, motDePasse);
                    Log.i(Message, "connexion OK");
                    //handler.sendEmptyMessage(-2);

                    statement= connexion.createStatement();

                }
                catch (java.sql.SQLException e)
                {
                    Log.i(Message, "Erreur de connexion"+e.getMessage());
                    //handler.sendEmptyMessage(-3);
                }
            }
            else
            {
                Log.i(Message, "Deja connécté");
                //handler.sendEmptyMessage(-4);
            }
        }

    };



    @[member=override]
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @[member=override]
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}
 

Seulement voila dans mon code j'ai un souci car le "statement" est utilisé avant création de celui-ci et du coup je suis bloqué. J'avoue ne pas savoir comment corriger mon erreur.

 

je fais un get pour récupérer le texte présent dans mon EditText afin de le comparerama BDD mais mon statement.executeQuery ne fonctionne pas car il me manquerait mon java.sql.SQLExeption cependant j'ai bien fait l'import.

 

quelqu'un saurait m'aider ?

 

cordialement

Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...