titi0006
Messages postés157Date d'inscriptionlundi 24 juin 2013StatutMembreDernière intervention15 mars 2017
-
8 mai 2014 à 19:24
Bonjour,
Je réalise une application Android qui consiste à lire un fichier XML et à enregistrer le contenu dans une base de donnée. J'ai réussi à lire mon fichier mais je bloque pour l'ajout dans la base.
public List<String> donneLivraisons(){ List<String> liste = new ArrayList<String>(); for (Livraison livraison : lesLivraisons) liste.add(livraison.toString()); return liste; } }
public BdHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); // TODO Auto-generated constructor stub } @Override public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub String req = "create table livraison(id integer primary key autoincrement, client text, adresse text)"; db.execSQL(req); req = "create table colis(ref text, montant real, idlivraison integer, foreign key (idlivraison) references livraison(id))"; db.execSQL(req); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub } }
GestionBD:
public class GestionBD { private SQLiteDatabase maBase; private BdHelper monBdHelper;
public GestionBD(Context context) { monBdHelper = new BdHelper(context, "baseLivraison", null, 1); init(); }
public void init(){ long id; Livraison uneLivraison; Colis unColis; open();
uneLivraison = new Livraison(); id = ajouteLivraison(uneLivraison); unColis = new Colis(); ajouteColis(unColis, id); close();
} public void open(){ maBase = monBdHelper.getWritableDatabase(); } public void close(){ maBase.close(); } public long ajouteLivraison(Livraison livraison){ ContentValues v = new ContentValues(); v.put("client", livraison.getClient()); v.put("adresse", livraison.getAdresse()); return maBase.insert("livraison", null, v); } public void ajouteColis(Colis colis, long id){ ContentValues v = new ContentValues(); v.put("idlivraison", id); v.put("ref", colis.getRef()); v.put("montant", colis.getMontant()); maBase.insert("colis", null, v); } public void supprimeLivraisons(){ maBase.delete("livraison", null, null); } public ArrayList<String> donneLivraisons(){ ArrayList<String> liste = new ArrayList<String>(); Cursor c = maBase.rawQuery("select id, client, adresse from livraison order by client",null); while (c.moveToNext()) liste.add( c.getString(0)+" "+c.getString(1)+" "+c.getString(2)); return liste; } public ArrayList<String> donneColis(){ ArrayList<String> liste = new ArrayList<String>(); Cursor c = maBase.rawQuery("select client, sum(montant) as montant from livraison" + " left outer join colis on id=idlivraison group by id order by client",null); while (c.moveToNext()) liste.add(c.getString(0)+" "+c.getDouble(1)); return liste; } }