2016-10-22 3 views
0

J'ai essayé d'extraire des données de deux tables à l'aide de curseurs, mais j'obtiens des données d'une seule table. aidez s'il vous plaît."Comment extraire des données de plusieurs tables à l'aide de curseurs dans le studio android"

Voici le code complet.

// Création de tables

// Tableau T24

db.execSQL("CREATE TABLE IF NOT EXISTS T24 (ID NUMBER PRIMARY KEY,STARTING VARCHAR,DESTINATION VARCHAR" + 
         ",PLACES VARCHAR,PLACESFARE NUMBER(9,3),HOTELS VARCHAR,HOTELSFARE NUMBER(9,3),TRANSPORT VARCHAR," + 
         "TRANSPORTFARE VARCHAR,DAYS INTEGER,TOTALFARE NUMBER(9,3))"); 

// Tableau P21

db.execSQL("CREATE TABLE IF NOT EXISTS P21"+"(NAME VARCHAR PRIMARY KEY,NO NUMBER," + 
        "ADDRESS VARCHAR,DAYS NUMBER,DATE NUMBER,MONTH NUMBER)"); 

// Données de base de données Récupération.

db = openOrCreateDatabase("tour", Context.MODE_PRIVATE, null); 
     String query1 = "select *from T24 where " + 
       "STARTING='" + s3 + "' and DESTINATION='" + s4 + "'"; 
     Cursor c = db.rawQuery(query1, null); 
     if (c.moveToFirst() == true) { 
      t1 = c.getString(3); 
      t2 = c.getString(4); 
      t3 = c.getString(5); 
      t4 = c.getString(6); 
      t5 = c.getString(7); 
      t6 = c.getString(8); 
      t7 = c.getString(9); 
      t8 = c.getString(10); 
     } 
     c.close(); 
     db.close(); 
     ptv.setText(t1); 
     pf.setText(t2); 
     hotels.setText(t3); 
     hf.setText(t4); 
     td.setText(t5); 
     tf.setText(t6); 
     fare.setText(t8); 
     try { 
      db2 = openOrCreateDatabase("tour", Context.MODE_PRIVATE, null); 
      String query2 = "select *from P21 where" + 
        "NAME='" + e1 + "'"; 
      Cursor c1 = db2.rawQuery(query2, null); 
      if (c1.moveToFirst() == true) { 
       t9 = c1.getString(0); 
       t10 = c1.getString(1); 
       t11 = Integer.parseInt(c1.getString(3)); 
       t12 = Integer.parseInt(c1.getString(4)); 
       t13 = Integer.parseInt(c1.getString(5)); 
      } 
      c1.close(); 
      db2.close(); 
      Toast.makeText(getApplicationContext(), "done3", Toast.LENGTH_LONG).show(); 
      name.setText(t9); 
      no.setText(t10); 
      sdate1.setText(t12); 
      sdate2.setText(t13); 

Je suis en mesure de récupérer la date de la table "T24", mais incapable de récupérer les données de la table "P21".

Aidez-nous s'il vous plaît.

+0

essayez d'utiliser requête de jointure pour récupérer des données à partir de plusieurs tables http://androidopentutorials.com/android-sqlite-join-multiple-tables-example/ – YLS

Répondre

0

Je pense que vous l'espace à gauche après « où » dans la phrase sqlite de P21:

String query2 = "select *from P21 where" + 
       "NAME='" + e1 + "'"; 

Vous devez écrire comme ceci:

String query2 = "select * from P21 where " + 
       "NAME='" + e1 + "'"; 
+0

Ouais!, ça marche ... Merci – Alekhya

+0

Alekhya, pouvez-vous choisir ma réponse comme correcte. Parce que j'ai besoin de réputation :) – Beks