IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Problème avec SQLite


Sujet :

Android

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 59
    Par défaut Problème avec SQLite
    Bonjour voila j'ai un probleme de suite a une absence de stage j'ai demandé a un prof si il pouvait me faire une petite initiation android... En réponse il ma demandé si je pouvais tester des bouts de tutos et de codes trouver et assembler à la hate a partir de différentes source du net. Bien qu'étant novice en Android et ne maitrisant que quelques bases du Java j'ai réussi à m'acquitter de la majorité de ses demandes mais la je me heurtes à différents problèmes .
    En effet il m'a donné un tuto pour utiliser SQL au quel il avait un grand nombre de classe et donc fonction dans un souci de simplification , le problème est que j'ai utiliser son code , il ne fonctionnait donc pas et été bourré de faute syntaxique et autre.Je me retrouve donc désormais avec un code qui ne comporte aucune erreur (je veux dire signaler par eclipse) et dont les logcat lors de test ne me retourne aucune erreur mais il n'y a aucun affichage alors qu'il devrait apparaitre un toast affichant les résultats de la recherche SQLlite.
    Si vous pouviez m'éclairer je vous en serais extrèmement reconnaissant.


    Voici les codes


    Le MainActivity
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    package com.example.aplicationsql;
     
     
    import android.app.Activity;
    import android.os.Bundle;
    import android.widget.Toast;
     
    import android.content.ContentValues;
    import android.content.Context;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
     
     
    public class MainActivity extends Activity {
    	private static final String TABLE_LIVRES = "table_livres";
    	private static final String COL_ID = "ID";
    	private static final String COL_ISBN = "ISBN";
    	private static final String COL_TITRE = "Titre";
     
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
     
           /*** Création d'une instance de la classe MaBaseSQLite */
            int VERSION_BDD = 1;
            String NOM_BDD = "eleves.db";
     
            MaBaseSQLite maBaseSQLite = new MaBaseSQLite(getBaseContext() , NOM_BDD, null, VERSION_BDD);
            /*** Ouverture de la BDD en écriture, avec création si elle n'existe pas
            /** On appelle la méthode getWritableDatabase( ) de la classe MaBaseSQLite, qui en fait appelle sa méthode
            /** onCreate, dans laquelle nous avons mise l'instruction de la création de la base, dans le cas où la base
           /** n'existe pas. */
            SQLiteDatabase bdd=maBaseSQLite.getWritableDatabase( );
     
            /*** Exemple d'insertion de données dans une table */
            ContentValues values = new ContentValues();
            values.put("ISBN", 123456789);
            values.put("Titre", "Programmation Android");
            bdd.insert("table_livres", null, values);
     
     
            ContentValues values1 = new ContentValues();
            values1.put("ISBN", 1234567);
            values1.put("Titre", "Programmation Java");
            bdd.insert("table_livres", null, values1);
     
            ContentValues values2 = new ContentValues();
            values2.put("ISBN",3456689);
            values2.put("Titre", "reproduction des calamars");
            bdd.insert("table_livres", null, values2);
     
            /*** Deuxième façon d'insérer des données dans une table, en utilisant le langage SQL */
           String req;
           req = "insert into TABLE_LIVRES(ISBN, Titre) values (123456789, 'Programmation Android')";
           bdd.execSQL(req);
     
            /*** Exemple de modification de données dans une table */
            ContentValues valuesmod = new ContentValues();
            valuesmod.put("ISBN", 11114444);
            valuesmod.put("Titre", "culture objet");
            bdd.update("table_livres",valuesmod ,"ID=124", null);
     
     
            String titre = "Programmation";
           /*** Recherche de plusieurs enregistrements, à l'aide d'un curseur */
    	      Cursor c = bdd.query("table_livres", new String[] {COL_ID, COL_ISBN, COL_TITRE}, COL_TITRE + " LIKE \"" + titre  +"\"", null, null, null, null);       int cpt;
           for (cpt = 1; cpt <= c.getCount() ; cpt++) {
              if (cpt == 1) {
                 c.moveToFirst( );
                 Toast.makeText(this, 
                         "id: " + c.getString(0) + "\n" +
                         "ISBN: " + c.getString(1) + "\n" +
                         "TITLE: " + c.getString(2) ,
                         Toast.LENGTH_LONG).show();        
              }
              else {
                 c.moveToNext( );
                 Toast.makeText(this, 
                         "id: " + c.getString(0) + "\n" +
                         "ISBN: " + c.getString(1) + "\n" +
                         "TITLE: " + c.getString(2) ,
                         Toast.LENGTH_LONG).show();
              }
     }
     }
    }
    et le MaBaseSQL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    package com.example.aplicationsql;
    import android.content.Context;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteOpenHelper;
    import android.database.sqlite.SQLiteDatabase.CursorFactory;
     
    public class MaBaseSQLite extends SQLiteOpenHelper {
     
    	private static final String TABLE_LIVRES = "table_livres";
    	private static final String COL_ID = "ID";
    	private static final String COL_ISBN = "ISBN";
    	private static final String COL_TITRE = "Titre";
     
    	private static final String CREATE_BDD = "CREATE TABLE " + TABLE_LIVRES + " ("
    	+ COL_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + COL_ISBN + " TEXT NOT NULL, "
    	+ COL_TITRE + " TEXT NOT NULL);";
     
    	public MaBaseSQLite(Context context, String name, CursorFactory factory, int version) {
    		super(context, name, factory, version);
    	}
     
    	@Override
    	public void onCreate(SQLiteDatabase db) {
    		db.execSQL(CREATE_BDD);
    	}
    @Override
    public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion){
    	db.execSQL("DROP TABLE"+ TABLE_LIVRES+ ";");
    	onCreate(db);
    }
     
     
     
    }
    merci d'avance

  2. #2
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Passe en mode debug et regarde ton application pas à pas, dis nous par la suite si t'a base de donnée et remplie et qu'est ce que récupère ton cursor.

    Merci.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 59
    Par défaut
    Merci pour ta réponse ^^ mais je pense que je vais reprendre le tuto de base que mon prof a tronqué au 3/4 en lui expliquant qu'il était nickel et qu'il n'avait pas besoin de retouche parce la ça me rend chevre , je débute en android ^et la c'est comme un coup de pied dans les parties.

Discussions similaires

  1. problème avec sqlite
    Par nagca dans le forum Android
    Réponses: 1
    Dernier message: 08/06/2011, 10h08
  2. Réponses: 4
    Dernier message: 25/06/2010, 17h05
  3. Problème avec Sqlite lors de la compilation
    Par Jiyuu dans le forum Déploiement/Installation
    Réponses: 6
    Dernier message: 28/11/2009, 18h32
  4. [C#]problème avec SqLite
    Par ClaudeBg dans le forum Linq
    Réponses: 8
    Dernier message: 18/06/2009, 16h17
  5. Problème avec SQLITE
    Par Jiyuu dans le forum Django
    Réponses: 2
    Dernier message: 12/03/2009, 07h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo