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

Développement Mobile en Java Discussion :

Mon appli plante lors de l'action sur bouton d'affichage des données.


Sujet :

Développement Mobile en Java

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 116
    Points : 60
    Points
    60
    Par défaut Mon appli plante lors de l'action sur bouton d'affichage des données.
    Bonsoir

    Je vous serais reconnaissant de m'épauler, j'ai cherché dans tous les sens mais je n'y arrive pas.

    J'ai suivi un tuto, j'ai bien vérifié la syntaxe, rien à faire mon appli bloque lorsque j'appui sur le bouton destiné à l'affichage des données.

    Lorsque je désactive le bouton d'affichage l'appli se lance et s'affiche sans problème.
    L'erreur suivante marquée dans l'onglet logcat comme suit :

    02-20 23:20:17.377 16522-16522/com.example.sqlitedatabase E/SQLiteLog: (1) near "tableBook_table": syntax error

    android.database.sqlite.SQLiteException: near "tableBook_table":
    syntax error (code 1): , while compiling: CREATE tableBook_table
    (ID INTEGER PRIMARY KEY AUTOINCREMENT, NOM TEXT, AUTEUR TEXT, CATEGORY TEXT)
    Voici mon code ci-dessous:

    Fichier SQLiteDataBaseHelper.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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    package com.example.sqlitedatabase;
     
    import android.content.ContentValues;
    import android.content.Context;
    import android.database.sqlite.SQLiteOpenHelper;
    import android.database.sqlite.SQLiteDatabase;
     
    import java.util.Locale;
     
    //méthode pour création BDD et Table
    public class SQLiteDataBaseHelper extends SQLiteOpenHelper {
        public static final String DATABASE_NAME = "Book.db";
        public static final String TABLE_NAME = "Book_table";
        public static final String COL_1 = "ID";
        public static final String COL_2 = "NOM";
        public static final String COL_3 = "AUTEUR";
        public static final String COL_4 = "CATEGORY";
     
        //constructeur rempli
        public SQLiteDataBaseHelper (Context context)
        {
            super(context, DATABASE_NAME,null, 1);
        }
     
        //constructeur vide
        public void  onCreate (SQLiteDatabase db) {
            db.execSQL("CREATE table" + TABLE_NAME + "(ID INTEGER PRIMARY KEY AUTOINCREMENT, NOM TEXT, AUTEUR TEXT, CATEGORY TEXT)");
     
     
        }
     
        public void onUpgrade (SQLiteDatabase db, int oldVersion, int newVersion){
            db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
            onCreate(db);
     
        }
     
        public boolean insertData(String nom, String auteur, String categorie ) {
            SQLiteDatabase db = this.getWritableDatabase();
            ContentValues contentValues = new ContentValues();
            contentValues.put(COL_2, nom);
            contentValues.put(COL_3,auteur);
            contentValues.put(COL_4,categorie);
            long result=db.insert(TABLE_NAME, null, contentValues);
            if (result == -1)
                return false;
            else
                return true;
        }
     
     
     
    }
    Mon fichier MainActivity.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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    package com.example.sqlitedatabase;
     
    import androidx.appcompat.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;
     
     
    public class MainActivity extends AppCompatActivity {
     
        SQLiteDataBaseHelper db;
       //déclaration des objets widget
        EditText nomInput, auteurInput, categorieInput;
        Button buttonAddData;
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
     
            db = new  SQLiteDataBaseHelper(this);
     
            nomInput = (EditText) findViewById(R.id.nom_edittext);
            auteurInput = (EditText) findViewById(R.id.auteur_edittext);
            categorieInput = (EditText) findViewById(R.id.category_edittext);
            buttonAddData = (Button) findViewById(R.id.ajouter_button);
            AddData();
     
        }
     
        public void AddData(){
            buttonAddData.setOnClickListener(
                new View.OnClickListener(){
     
                    public void onClick (View view){  // insert the new rav data on click of the button
                        boolean isInserted = db.insertData(nomInput.getText().toString(), auteurInput.getText()
                        .toString(), categorieInput.getText().toString());
                    if (isInserted==true) {
                        Toast.makeText(MainActivity.this, "Data est insérer avec succès",
                                Toast.LENGTH_LONG).show();
                    } else
                        Toast.makeText(MainActivity.this, "Les données ne sont pas insérées",
                                Toast.LENGTH_LONG).show();
     
                    }
                }
     
            );
          }
     
        }
    Mon fichier actiuvity_main.xml

    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
    <?xml version="1.0" encoding="utf-8"?>
     
     
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">
     
            <TextView
                android:id="@+id/nom_textview"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Nom"
                android:textStyle="bold"
                android:textSize="30sp"
                />
     
            <EditText
                android:id="@+id/nom_edittext"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:inputType="text"
                android:hint="nom"
                />
     
        <TextView
            android:id="@+id/auteur_textview"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Auteur"
            android:textStyle="bold"
            android:textSize="30sp" />
     
     
        <EditText
            android:id="@+id/auteur_edittext"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="auteur"
            android:inputType="text" />
     
        <TextView
            android:id="@+id/category_textview"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Catégorie"
            android:textSize="30sp"
            android:textStyle="bold" />
     
        <EditText
            android:id="@+id/category_edittext"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="catégorie"
            android:inputType="text" />
     
        <Button
            android:id="@+id/ajouter_button"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="5sp"
            android:layout_marginTop="3sp"
            android:layout_marginBottom="3sp"
            android:background="@color/colorAccent"
            android:clickable="true"
            android:elevation="4sp"
            android:padding="20sp"
            android:text="Ajouter à la base" />
    </LinearLayout>
    Mon fichier AndroidManifest.xml

    Code xml : 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
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.sqlitedatabase">
     
        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">
            <activity android:name=".MainActivity">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
     
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
     
    </manifest>

    Mon fichier string.xml

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0" encoding="utf-8"?>
     
    <resources>
     
        <string name="app_name">SQLiteDatabase</string>
        <string name="nom_textview">nom</string>
        <string name="nom_edittext">nom</string>
        <string name="auteur_textview">auteur</string>
        <string name="auteur_edittext">auteur</string>
        <string name="category_textview">categorie</string>
        <string name="category_edittext">categorie</string>
        <string name="ajouter_button">Ajouter à la base</string>
     
    </resources>

    Je suppose qu'il y a une erreur dans le passage du code suivant qu'en pensez vous ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     public void  onCreate (SQLiteDatabase db) {
            db.execSQL("CREATE table" + TABLE_NAME + "(ID INTEGER PRIMARY KEY AUTOINCREMENT, NOM TEXT, AUTEUR TEXT, CATEGORY TEXT)");
        }
    Merci pour votre aide

    Cordialement
    rapidego

  2. #2
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 116
    Points : 60
    Points
    60
    Par défaut Mon appli plante lors de l'action sur bouton d'affichage des données
    Bonsoir à tous,

    Mon problème est résolu , il manquait un espace entre le guillemet et le mot table "CREATE table "

    A plus cordialement
    rapidego

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 116
    Points : 60
    Points
    60
    Par défaut Mon appli plante lors de l'action sur bouton d'affichage des données
    Bonsoir à tous,

    Mon problème est résolu , il manquait un espace entre le guillemet et le mot table "CREATE table "

    A plus cordialement
    rapidego

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 04/09/2018, 19h05
  2. Réponses: 3
    Dernier message: 23/11/2012, 21h39
  3. Réponses: 16
    Dernier message: 16/10/2012, 17h04
  4. Réponses: 20
    Dernier message: 12/06/2007, 10h11
  5. Action sur bouton de commande
    Par uloaccess dans le forum Access
    Réponses: 3
    Dernier message: 16/11/2005, 15h53

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