Bonjour je suis nouveau sous android et j'essaie d'utiliser une base de données sqlite.
dans mon fichier PlaneteDbAdapteur.java j'ai ceci
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 public class PlaneteDbAdaptateur { private static final int VERSION_DATABASE=1; private static final String NOM_DATABASE="planetes.db"; private static final String TABLE_NAME="table_planetes"; private static final String COLONNE_ID="id"; private static final String COLONNE_NOM="nom"; private static final String COLONNE_RAYON="rayon"; private SQLiteDatabase maBaseDeDonnees; private MaBaseOpenHelper baseHelper; public PlaneteDbAdaptateur(Context context){ baseHelper=new MaBaseOpenHelper(context, NOM_DATABASE, null, VERSION_DATABASE); } public SQLiteDatabase open(){ return maBaseDeDonnees=baseHelper.getWritableDatabase(); } public void close(){ maBaseDeDonnees.close(); }Tjours dans le meme package j'ai créé un fichier MaBaseOpenHelper.java
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public long insertPlanete(Planete planete){ ContentValues valeurs=new ContentValues(); valeurs.put("COLONNE_ID", 1); valeurs.put(COLONNE_NOM, planete.getNom()); valeurs.put(COLONNE_RAYON, planete.getRayon()); return maBaseDeDonnees.insert(TABLE_NAME, null, valeurs); }
il y'a aussi le fichier Planete.java
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 public class MaBaseOpenHelper extends SQLiteOpenHelper{ private static final String TABLE_NAME="table_planetes"; private static final String COLONNE_ID="id"; private static final String COLONNE_NOM="nom"; private static final String COLONNE_RAYON="rayon"; private static final String REQUETE_CREATION_BDD="CREATE TABLE "+TABLE_NAME+ "("+ COLONNE_ID+" INTEGER PRIMARY KEY AUTOINCREMENT,"+ COLONNE_NOM+" TEXT NOT NULL, "+ COLONNE_RAYON+" FLOAT NOT NULL);"; private static final String SUPPRIME_BDD="DROP TABLE IF EXISTS "+TABLE_NAME+";"; public MaBaseOpenHelper(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 db.execSQL(REQUETE_CREATION_BDD); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub db.execSQL(SUPPRIME_BDD); onCreate(db); } }
et enfin mon fichier activité myActivity.java
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 public class Planete { private int id; private String nom; private float rayon; public Planete(){ } public Planete(String nom, float rayon){ this.nom=nom; this.rayon=rayon; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getNom() { return nom; } public void setNom(String nom) { this.nom = nom; } public float getRayon() { return rayon; } public void setRayon(float rayon) { this.rayon = rayon; } }
A chaque fois que je veux inserer un enregistrement il me renvoie -1 ce qui veut dire que c'est pas bon.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public class myActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); PlaneteDbAdaptateur monAdaptateur=new PlaneteDbAdaptateur(this); monAdaptateur.open(); Planete planete=new Planete("terre", 200); //Planete maPlanete=monAdaptateur.getPlanete(200); Toast.makeText(this, " "+monAdaptateur.insertPlanete(planete), Toast.LENGTH_LONG).show(); } }
Si quelqu'un peut m'aider je lui en serai reconnaissant.
Merci
Partager