SQLITE Syntaxe error

louisgautier Messages postés 1719 Date d'inscription   Statut Membre Dernière intervention   -  
louisgautier Messages postés 1719 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Lors de la compilation j'obtiens l'erreur de syntaxe a cette ligne :
 public List<Objet> getAllComment() {
        List<Objet> objets = new ArrayList<Objet>();
        Cursor cursor = bdd.query(MaBaseSQLite.TABLE, allColumns, null, null, null, null, null); //ICI
        cursor.moveToFirst();
        while (!cursor.isAfterLast()) {
            Objet objet = cursorToComment(cursor);
            objets.add(objet);
            cursor.moveToNext();
        }
        cursor.close();
        return objets;
    }


Je crois que le problème viens lors de la création de ma table :
private static final String CREATE_BDD = "CREATE TABLE " + TABLE + "("
            + COL_NOM + " INTEGER PRIMARY KEY AUTOINCREMENT, "
            + COL_TEMPS + " TEXT NOT NULL, "
            + COL_PERSONA + " TEXT NOT NULL, "
            + COL_INGRA + " TEXT NOT NULL, "
            + COL_DIFF + " TEXT NOT NULL, "
            + COL_DESC + " TEXT NOT NULL"
            +")";


Caused by: android.database.sqlite.SQLiteException: near "preparation": syntax error (code 1): , while compiling: SELECT Titre, Temps de preparation, Nombre de personnes, Ingrediants, Difficulté, Description FROM Recette

COL_TEMPS est temps de préparation. Mais je ne vois ce qui cloche ! :/

Merci de vos lumières

1 réponse

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour

    Deja.. il faut eviter de mettre des espaces et des caractères accentués pour le nom des champs et des tables.
    0
    1. louisgautier Messages postés 1719 Date d'inscription   Statut Membre Dernière intervention   69
       
      Merci des infos. C'est corrigé mais l'erreur persiste !
      0
    2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      bonsoir, peux-tu montrer ton code corrigé, et le nouveau message d'erreur?
      0
    3. louisgautier Messages postés 1719 Date d'inscription   Statut Membre Dernière intervention   69
       
      Caused by: android.database.sqlite.SQLiteException: no such column: TempsDePreparation (code 1): , while compiling: SELECT Titre, TempsDePreparation, NombreDePersonnes, Ingrediants, Difficulte, Description FROM Recette

      Désolé, j'ai répondu trop vite ! L'erreur a bien changé. Mais je ne comprend toujours pas
      static final String TABLE = "Recette";
          static final String COL_NOM = "Titre";
          static final String COL_TEMPS = "TempsDePreparation";
          static final String COL_PERSONA = "NombreDePersonnes";
          static final String COL_INGRA = "Ingrediants";
          static final String COL_DIFF= "Difficulte";
          static final String COL_DESC = "Description";
      
          private static final String CREATE_BDD = "CREATE TABLE " + TABLE + "("
                  + COL_NOM + " INTEGER PRIMARY KEY AUTOINCREMENT, "
                  + COL_TEMPS + " TEXT NOT NULL, "
                  + COL_PERSONA + " TEXT NOT NULL, "
                  + COL_INGRA + " TEXT NOT NULL, "
                  + COL_DIFF + " TEXT NOT NULL, "
                  + COL_DESC + " TEXT NOT NULL"
                  +")";
      0
      1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830 > louisgautier Messages postés 1719 Date d'inscription   Statut Membre Dernière intervention  
         
        Si tu as renommé tes colonnes... le message ne peut pas être exactement le même. ...
        Montre ton code modifié. ..
        Et aussi... que contient ta variable allColumns ?
        0
    4. louisgautier Messages postés 1719 Date d'inscription   Statut Membre Dernière intervention   69
       
      private String[] allColumns = {
                  MaBaseSQLite.COL_NOM,
                  MaBaseSQLite.COL_TEMPS,
                  MaBaseSQLite.COL_PERSONA,
                  MaBaseSQLite.COL_INGRA,
                  MaBaseSQLite.COL_DIFF,
                  MaBaseSQLite.COL_DESC
          };
      0