etud21 Posté(e) 15 avril 2011 Share Posté(e) 15 avril 2011 Salut, je viens de creer ma base de donnée sqlite qui contiendra 2 tables je les ai crée et çava jusqu'au cette etape sauf que la pemiere à repondu à mes insertions et à la requete et m'affiche mes donnée correctement mais la deusieme table contient seulement les champs vides et la requete ne me renvois rien pouratant que j'ai suit les memes etapes...voiçi mon code et j'espere bien que quelqu'un de vous m'aide à trouver ma faille merci pour votre support import android.app.Activity; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.util.Log; import android.widget.TextView; public class DBTest extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); SQLiteDatabase myDB= null; String TableName = "mmm"; String Data=""; /*Create a Database*/ try { myDB = this.openOrCreateDatabase("DatabaseName", MODE_PRIVATE, null); /* Create a Table in the Database. */ myDB.execSQL("CREATE TABLE " + TableName + " (Field1 INT(3),Field2 VARCHAR,Field3 VARCHAR,Field4 VARCHAR,Field5 VARCHAR,Field6 VARCHAR,Field7 FLOAT,Field8 FLOAT);"); /* Insert data to a Table*/ myDB.execSQL("INSERT INTO " + TableName + " (Field1, Field2,Field3,Field4,Field5,Field6,Field7,Field8)" + " VALUES (1,'Mourron','chokri','bouhlel','Rue de palmier','tunis',22,54);"); myDB.execSQL("INSERT INTO " + TableName + " (Field1, Field2,Field3,Field4,Field5,Field6,Field7,Field8)" + " VALUES (2,'Aster','Mehdi','tounsi','Rue Monji Slim','sousse',32,65);"); myDB.execSQL("INSERT INTO " + TableName + " (Field1, Field2,Field3,Field4,Field5,Field6,Field7,Field8)" + " VALUES (3,'Iris','najwa','chammekh','Av H Bourguiba','bizerte',50,33);"); /*retrieve data from database */ Cursor c = myDB.rawQuery("SELECT * FROM " + TableName +" where Field1=1;", null); int Column1 = c.getColumnIndex("Field1"); int Column2 = c.getColumnIndex("Field2"); int Column3 = c.getColumnIndex("Field3"); int Column4 = c.getColumnIndex("Field4"); int Column5 = c.getColumnIndex("Field5"); int Column6 = c.getColumnIndex("Field6"); int Column7 = c.getColumnIndex("Field7"); int Column8 = c.getColumnIndex("Field8"); // Check if our result was valid.*/ c.moveToFirst(); if (c != null) { /* Loop through all Results */ do { int id = c.getInt(Column1); String nom_ph = c.getString(Column2); String nom_phar = c.getString(Column3); String pre_phar= c.getString(Column4); String adresse= c.getString(Column5); String region= c.getString(Column6); Float longittude= c.getFloat(Column7); Float lattitude= c.getFloat(Column8); Data =Data+" "+id+" "+nom_ph+" "+nom_phar+" "+pre_phar+" "+adresse+" "+region+" "+longittude+" "+lattitude+"\n"; }while(c.moveToNext()); TextView tv = new TextView(this); tv.setText(Data); setContentView(tv); } String TableName2 = "sss"; String Data2=""; /* Create a Table in the Database. */ myDB.execSQL("CREATE TABLE " + TableName2 + " (Field1 INT(3),Field2 VARCHAR);"); /* Insert data to a Table*/ myDB.execSQL("INSERT INTO " + TableName2 + " (Field1, Field2)" + " VALUES (1,'dim’);"); myDB.execSQL("INSERT INTO " + TableName + " (Field1, Field2)" + " VALUES (2,'lundi’);"); /*retrieve data from database */ Cursor cdate = myDB.rawQuery("SELECT * FROM " + TableName +" where Field1=1;", null); int Column9 = cdate.getColumnIndex("Field1"); int Column10 = cdate.getColumnIndex("Field2"); // Check if our result was valid.*/ cdate.moveToFirst(); if (cdate != null) { // Loop through all Results do { int idate = cdate.getInt(Column9); String datejour = cdate.getString(Column10); Data2 =Data2+" "+idate+" "+datejour+"\n"; }while(cdate.moveToNext()); TextView tv = new TextView(this); tv.setText(Data2); setContentView(tv); }} catch(Exception e) { Log.e("Error", "Error", e); } finally { if (myDB != null) myDB.close(); } }} Lien vers le commentaire Partager sur d’autres sites More sharing options...
etud21 Posté(e) 16 avril 2011 Auteur Share Posté(e) 16 avril 2011 Bonsoir Chpil j'ai arrivé aprés milles essais à organiser ma classe et la creation de mes 3 tables a reussi ainsi l'insertion...j'ai créee un curseur pour chaque table maintenant je veux faire cette requete select from TableName1 TableName2 TableName3 where pharmacies.idph==disp.idph and disp.idph==date.iddate...comment faire pour l' inserer dans ma classe ? et voiçi mon nouveau code import android.app.Activity; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.util.Log; import android.widget.TextView; public class DBTest extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); SQLiteDatabase myDB= null; String TableName1 = "pharmacies"; String TableName2 = "dates"; String TableName3 = "disp"; String Data1=""; String Data2=""; String Data3=""; /*Create a Database*/ try { myDB = this.openOrCreateDatabase("DatabaseName", MODE_PRIVATE, null); /* Create a Table in the Database. */ myDB.execSQL("CREATE TABLE " + TableName1 + " (idph INT(3),nomph VARCHAR );"); /*Insert data to a Table*/ myDB.execSQL("INSERT INTO " + TableName1 + " (idph,nomph)" + " VALUES (1,'ph1');"); myDB.execSQL("INSERT INTO " + TableName1 + " (idph, nomph)" + " VALUES (2,'ph2');"); myDB.execSQL("INSERT INTO " + TableName1 + " (idph, nomph)" + " VALUES (3,'ph3');"); /*retrieve data from database */ Cursor cph = myDB.rawQuery("SELECT * FROM " + TableName1 +" where idph=1;", null); int Column10 = cph.getColumnIndex("idph"); int Column20 = cph.getColumnIndex("nomph"); // Check if our result was valid.*/ cph.moveToFirst(); if (cph != null) { // Loop through all Results do { int idph = cph.getInt(Column10); String nomph = cph.getString(Column20); Data1=Data1+" "+idph+" "+nomph+" "+"\n"; }while(cph.moveToNext()); TextView tv = new TextView(this); tv.setText(Data1); setContentView(tv); } /* Create a Table in the Database. */ myDB.execSQL("CREATE TABLE " + TableName3 + " (idph INT(3),iddate VARCHAR );"); /*Insert data to a Table*/ myDB.execSQL("INSERT INTO " + TableName3 + " (idph, iddate)" + " VALUES (1,1);"); myDB.execSQL("INSERT INTO " + TableName3 + " (idph, iddate)" + " VALUES (2,3);"); myDB.execSQL("INSERT INTO " + TableName3 + " (idph, iddate)" + " VALUES (3,2);"); /*retrieve data from database */ Cursor cdisp = myDB.rawQuery("SELECT * FROM " + TableName3 +" where idph=2;", null); int Column1 = cdisp.getColumnIndex("idph"); int Column2 = cdisp.getColumnIndex("iddate"); // Check if our result was valid.*/ cdisp.moveToFirst(); if (cdisp != null) { // Loop through all Results do { int idph = cdisp.getInt(Column1); int iddate = cdisp.getInt(Column2); Data3=Data3+" "+idph+" "+iddate+" "+"\n"; }while(cdisp.moveToNext()); TextView tv = new TextView(this); tv.setText(Data3); setContentView(tv); } /* Create a Table in the Database. */ myDB.execSQL("CREATE TABLE " + TableName2 + " (iddate INT(3),datejour VARCHAR );"); /*Insert data to a Table*/ myDB.execSQL("INSERT INTO " + TableName2 + " (iddate, datejour)" + " VALUES (1,'lundi');"); myDB.execSQL("INSERT INTO " + TableName2 + " (iddate, datejour)" + " VALUES (2,'mardi');"); myDB.execSQL("INSERT INTO " + TableName2 + " (iddate, datejour)" + " VALUES (3,'mercredi');"); /*retrieve data from database */ Cursor cdate = myDB.rawQuery("SELECT * FROM " + TableName2 +" where iddate=1;", null); int Column3 = cdate.getColumnIndex("iddate"); int Column4 = cdate.getColumnIndex("datejour"); // Check if our result was valid.*/ cdate.moveToFirst(); if (cdate != null) { // Loop through all Results do { int iddate = cdate.getInt(Column3); String datejour = cdate.getString(Column4); Data2=Data2+" "+iddate+" "+datejour+" "+"\n"; }while(cdate.moveToNext()); TextView tv = new TextView(this); tv.setText(Data2); setContentView(tv); }} catch(Exception e) { Log.e("Error", "Error", e); } finally { if (myDB != null) myDB.close(); } }} Toutes mes esperances de pouvoir m'aider comme habitude Lien vers le commentaire Partager sur d’autres sites More sharing options...
etud21 Posté(e) 18 avril 2011 Auteur Share Posté(e) 18 avril 2011 salut, 51 vues et personne n'a pu me supporter :( Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 20 avril 2011 Share Posté(e) 20 avril 2011 salut, 51 vues et personne n'a pu me supporter :( Peut-être que personne n'a vraiment compris ce que tu veux faire... Une seule remarque me vient à la lecture de ce code: que vient faire tout ce code de base de données dans le onCreate d'une Activity ?? Parce que là, la création des tables de la base sera faite à chaque lancement de l'Activity. Est-ce vraiment ce que tu veux faire ? J'en doute. Il me semble te l'avoir déjà conseillé, dans un autre post, mais tu devrais vraiment te pencher sur des exemples (celui du Notapad par exemple) pour t'en inspirer. Il y est expliqué comment implémenter la logique liée à la base de données dans une classe séparée, en s'aidant ce qu'offre Android pour assurer que la base soit bien créée avant la première utilisation, ... Ensuite, le reste ira tout seul :) Lien vers le commentaire Partager sur d’autres sites More sharing options...
etud21 Posté(e) 20 avril 2011 Auteur Share Posté(e) 20 avril 2011 Bonsoir, Tout ce que j'ai voulu faire est comment inserer ma requete ...pour la creation des tables je peux modifier le code en inserant une condition d'existance pour eviter la nouvelle creation de mes tables car sinon rien ne marche tant que ma base existe déja...j'ai utilisé ce type de code car il m'a donné une resultat ...en tout cas merci pour vos conseils precieux et je vais essayer encore ...à propos mon post je crois que seul la moitié des visiteurs n'ont rien compris et que le reste à le meme probleme que le miens :) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.