Jump to content

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...