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 :

Gérer plusieurs tables SQLite


Sujet :

Android

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 18
    Points : 17
    Points
    17
    Par défaut Gérer plusieurs tables SQLite
    Bonjour à tous !

    Je suis débutante et je rencontre un problème avec la gestion des tables sqlite.

    J'ai suivi un tuto pour la création d'une table et il marche.
    J'ai donc crée un projet recettebdd contenant 4 fichiers dans src :

    MainActivity.java
    recettesBDD.java
    recette.JAVA
    BaseSQLite.java

    avec dans le MainActivity quelques instructions pour test comme changer le nom d'une recette et le faire apparaître dans un toast etc. Tout fonctionne

    J'ai refait la même chose (nouveau projet) pour la table "catégorie".
    Bref si je me suis assez clairement exprimée : j'ai deux projets android chacun permettant la création et modification d'instances de deux classes "recette" et "catégorie". Les deux fonctionnent individuellement.https://docs.google.com/file/d/0B_Br...Z5MlpUSEk/edit

    Aujourd'hui j'aimerais les "fusionner" c'est à dire qu'un seul projet contiennent mes deux tables. Comment dois-je m'y prendre ?

    Merci d'avance pour vos conseil

  2. #2
    Expert éminent

    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
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,

    rien de plus simple, il te suffit de créer les deux tables au même endroit

    Si je prends ce tuto :
    http://a-renouard.developpez.com/tut...ndroid/sqlite/

    on rajoute une autre tables tables_pingouin

    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
     
            private static final String TABLE_LIVRES = "table_livres";
    	private static final String TABLE_PINGOUIN = "table_pingouin";
    	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 COL_ID_PINGOUIN = "ID_PINGOUIN";
            private static final String COL_TEST = "test";
     
    	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);";
     
    	private static final String CREATE_BDD_PINGOUIN = "CREATE TABLE " + TABLE_PINGOUIN + " ("
    	+ COL_ID_PINGOUIN + " INTEGER PRIMARY KEY AUTOINCREMENT, " 
    	+ COL_TEST + " TEXT NOT NULL);";
     
    	public MaBaseSQLite(Context context, String name, CursorFactory factory, int version) {
    		super(context, name, factory, version);
    	}
     
    	@Override
    	public void onCreate(SQLiteDatabase db) {
    		//on crée la table à partir de la requête écrite dans la variable CREATE_BDD
    		db.execSQL(CREATE_BDD);
                    db.execSQL(CREATE_BDD_PINGOUIN);
    	}
     
    	@Override
    	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    		//On peut faire ce qu'on veut ici moi j'ai décidé de supprimer la table et de la recréer
    		//comme ça lorsque je change la version les id repartent de 0
    		db.execSQL("DROP TABLE " + TABLE_LIVRES + ";");
                    db.execSQL("DROP TABLE " + TABLE_PINGOUIN + ";");
    		onCreate(db);
    	}
    On peut rajouter des FOREIGN KEY lors de la création des tables, à toi après lors des requêtes d'appeler la bonne tables .

    NB: je n'ai jamais testé la création a l'aide deux tables sur une même commande, je ne sais pas si le sqllite le prends en compte.
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 18
    Points : 17
    Points
    17
    Par défaut
    Merci beaucoup pour cette réponse détaillée,

    J'avais perdu le lien de ma question, je vais pouvoir reprendre mon code et tester !

    Bonne journée

  4. #4
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 157
    Points : 60
    Points
    60
    Par défaut
    Citation Envoyé par Marinetpaul Voir le message
    Bonjour à tous !

    Je suis débutante et je rencontre un problème avec la gestion des tables sqlite.

    J'ai suivi un tuto pour la création d'une table et il marche.
    J'ai donc crée un projet recettebdd contenant 4 fichiers dans src :

    MainActivity.java
    recettesBDD.java
    recette.JAVA
    BaseSQLite.java

    avec dans le MainActivity quelques instructions pour test comme changer le nom d'une recette et le faire apparaître dans un toast etc. Tout fonctionne

    J'ai refait la même chose (nouveau projet) pour la table "catégorie".
    Bref si je me suis assez clairement exprimée : j'ai deux projets android chacun permettant la création et modification d'instances de deux classes "recette" et "catégorie". Les deux fonctionnent individuellement.https://docs.google.com/file/d/0B_Br...Z5MlpUSEk/edit

    Aujourd'hui j'aimerais les "fusionner" c'est à dire qu'un seul projet contiennent mes deux tables. Comment dois-je m'y prendre ?

    Merci d'avance pour vos conseil

    Bonjour,
    Svp je suis aussi débutante en android , j'ai eu même problème que vous , est ce que possible d'avoir vos codes ?, car le lien ne fonctionne plus
    Merci

Discussions similaires

  1. Bug avec utilisation de plusieurs tables SQLite
    Par Toinou- dans le forum Android
    Réponses: 5
    Dernier message: 17/09/2013, 22h43
  2. [AC-2010] gérer Plusieurs bases avec même tables et ID
    Par manutek dans le forum Modélisation
    Réponses: 26
    Dernier message: 17/02/2011, 10h02
  3. Plusieurs tables sqlite
    Par pikaTuX dans le forum Objective-C
    Réponses: 1
    Dernier message: 15/06/2010, 18h52
  4. SQLite et plusieurs tables
    Par FredericB dans le forum C++Builder
    Réponses: 1
    Dernier message: 02/06/2008, 15h53
  5. comment gérer plusieurs locks sur une table?
    Par charluber dans le forum Oracle
    Réponses: 4
    Dernier message: 18/04/2006, 21h28

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