SQLITE Syntaxe error

Fermé
louisgautier Messages postés 1632 Date d'inscription lundi 27 septembre 2010 Statut Membre Dernière intervention 13 janvier 2017 - 12 janv. 2017 à 18:06
louisgautier Messages postés 1632 Date d'inscription lundi 27 septembre 2010 Statut Membre Dernière intervention 13 janvier 2017 - 13 janv. 2017 à 14:32
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 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
12 janv. 2017 à 18:28
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 1632 Date d'inscription lundi 27 septembre 2010 Statut Membre Dernière intervention 13 janvier 2017 69
12 janv. 2017 à 18:41
Merci des infos. C'est corrigé mais l'erreur persiste !
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
12 janv. 2017 à 20:44
bonsoir, peux-tu montrer ton code corrigé, et le nouveau message d'erreur?
0
louisgautier Messages postés 1632 Date d'inscription lundi 27 septembre 2010 Statut Membre Dernière intervention 13 janvier 2017 69
Modifié par louisgautier le 13/01/2017 à 00:09
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 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > louisgautier Messages postés 1632 Date d'inscription lundi 27 septembre 2010 Statut Membre Dernière intervention 13 janvier 2017
13 janv. 2017 à 00:11
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 1632 Date d'inscription lundi 27 septembre 2010 Statut Membre Dernière intervention 13 janvier 2017 69
13 janv. 2017 à 14:32
private String[] allColumns = {
            MaBaseSQLite.COL_NOM,
            MaBaseSQLite.COL_TEMPS,
            MaBaseSQLite.COL_PERSONA,
            MaBaseSQLite.COL_INGRA,
            MaBaseSQLite.COL_DIFF,
            MaBaseSQLite.COL_DESC
    };
0