SQLITE Syntaxe error

louisgautier Messages postés 1635 Date d'inscription   Statut Membre Dernière intervention   -  
louisgautier Messages postés 1635 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

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour

Deja.. il faut eviter de mettre des espaces et des caractères accentués pour le nom des champs et des tables.
0
louisgautier Messages postés 1635 Date d'inscription   Statut Membre Dernière intervention   69
 
Merci des infos. C'est corrigé mais l'erreur persiste !
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
bonsoir, peux-tu montrer ton code corrigé, et le nouveau message d'erreur?
0
louisgautier Messages postés 1635 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
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > louisgautier Messages postés 1635 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
louisgautier Messages postés 1635 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