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 :

Problème sur requete SQLite


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Par défaut Problème sur requete SQLite
    Bonjour

    dans une appli jecréé un BD SQlite et essaie de rentrer des données.
    Quand je teste sur le simulateur
    je n'ai pas de message d'erreur, mais la base de données ne s'est pas créée

    Voici mon code dans le main.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
    @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            db=new DBAdapter(this);
            db.open();
            this.setContentView(R.layout.main);
            final EditText textTexte = (EditText) findViewById(R.id.EditText01);
     
    buttonEnr.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
        EnregistreClick();
        }
     
    	private void EnregistreClick() {
    	long num=SystemClock.currentThreadTimeMillis();
    	//connexion à  ma BD
    	db.open();
    	//récupération du texte
    	String sLetexte = textTexte.getText().toString();
    	//enregistrement dans la BD
    	long bresult = db.insererUneDonnee(sLetexte);
    	//fermeture de ma base de données
    	db.close();
    	}
    Dans le ficier DBAdapter.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
    @Override
    //creation de la BD
    public void onCreate(SQLiteDatabase db) {
    db.execSQL("create table mesDonnees (_id integer primary key autoincrement, "
    + "letexte text not null"
    + ");");
    }
     
    //ouvrir la BD pour insertion des données
    public DBAdapter open(){
    db=DBHelper.getWritableDatabase();
    return this;
    }
     
    public long insererUneDonnee(String letexte){
    //pour placer les données
    ContentValues values = new ContentValues();
    values.put("letexte", letexte);
    return db.insert("mesDonnees", null, values);
    }
    Ai-je oubliè du code ou y a t-il une erreur

    Merci pour vos réponses
    JCM

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 54
    Par défaut
    la méthode onCreate doit se situer dans ta classe DBHelper

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Par défaut
    Bonjour

    Merci pour ta réponse, je ne vois pas comment le placer
    Voici mon code complet

    i
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    mport android.content.ContentValues;
    import android.content.Context;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteOpenHelper;
    import android.widget.Toast;
     
    public class DBAdapter {
    	DataBaseHelper		DBHelper;
    	 Context			context;
    	 SQLiteDatabase		db;
     
    	 public DBAdapter(Context context){
    		 this.context=context;
    		 DBHelper= new DataBaseHelper(context);
     
    	 }
     
    	 public class DataBaseHelper extends SQLiteOpenHelper{
    		 Context			context;
    		public DataBaseHelper(Context context) {
    			super(context, "mesDonnees", null, 1);
    			this.context=context;
    		}
    		@Override
    		//creation de la BD
    		public void onCreate(SQLiteDatabase db) {
    			db.execSQL("create table mesDonnees (_id integer primary key autoincrement, "
    					+ "ladate text not null, letexte text not null"
    					+ ");");
     
    		}
    		@Override
    		//mise à jour de la BD ou changer la version
    		public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    			Toast.makeText(context, "Mise à jour de la base de données version "+oldVersion+" vers " +newVersion+ ", qui détruira l'ancienne version", newVersion);
    			db.execSQL("DROP TABLE IF EXISTS mesDonnees");
    			onCreate(db);
    		}
     
    	 }
    	 	//ouvrir la BD pour insertion des données
    	 	public DBAdapter open(){
    	 		db=DBHelper.getWritableDatabase();
    	 		return this;
     
    	 	}
    	 	public void close(){
    	 		db.close();
     
    	 	}
    	 	//pour effacer toutes les données de la BD
    	 	public void Truncate(){
    	 		db.execSQL("DELETE FROM mesDonnees");
     
    	 	}
    	 	public long insererUneDonnee(String ladate, String letexte){
    	 		//pour placer les données
    	 		ContentValues values = new ContentValues();
    	 		values.put("ladate", ladate);
    	 		values.put("letexte", letexte);
    	 		return db.insert("mesDonnees", null, values);
    	 	}
    	 	public boolean supprimerUneDonnee(long id){
    	 		return db.delete("mesDonnees", "_id="+id, null)>0;
    	 	}
     
    	 	public Cursor recupererUneDonnee(){
    	 		return db.query("mesDonnees", new String[]{
    	 				"_id",
    	 				"ladate",
    	 				"letexte"}, null, null, null, null, null);
     
    	 		}	
     
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD16] Problème sur requete (doublon)
    Par buzz68180 dans le forum WinDev
    Réponses: 3
    Dernier message: 23/02/2012, 09h36
  2. Problème sur requete outer join
    Par lindounette dans le forum Développement
    Réponses: 3
    Dernier message: 22/08/2011, 15h49
  3. problème sur requete insert
    Par shadowmoon dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/06/2005, 11h46
  4. [ASA] Problème sur requete ASA
    Par shadeoner dans le forum SQL Anywhere
    Réponses: 6
    Dernier message: 06/04/2005, 14h35
  5. [ASA] Problème sur requete
    Par shadeoner dans le forum SQL Anywhere
    Réponses: 9
    Dernier message: 30/03/2005, 15h59

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