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 :

SQLite création Base de données


Sujet :

Android

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 33
    Par défaut SQLite création Base de données
    Bonjour,

    Je cherche désespérement a implanter une bas de données dans mon application.

    Ci dessous le code de ma classe Db

    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
    package tuto.phanou;
     
    import java.util.ArrayList;
     
    import android.content.ContentValues;
    import android.content.Context;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteOpenHelper;
     
    public class Db extends SQLiteOpenHelper{
     
    	private static String BASE_NAME = "Ma_Base";
    	private static final int BASE_VERSION = 1;
    	private static String BASE_TABLE_NAME = "Memo";
    	private static SQLiteDatabase db;
     
    	private static String CREATE_TABLE = "create table " 
    										+ BASE_TABLE_NAME + " ("
    										+ "techkey integrer PRIMARY KEY AUTOINCREMENT,"
    										+ "titre VARCHAR(250) NOT NULL,"
    										+ "description VARCHAR(250) NOT NULL" + ")";
    	public Db(Context context)
    	{
    		super(context, BASE_NAME, null, BASE_VERSION);
    			db = getWritableDatabase();
    	}
     
    	/** Exécuté si la table n'existe pas */	
    	@Override
    	public void onCreate(SQLiteDatabase db)
    	{
    		db.execSQL(CREATE_TABLE);
    	}
     
    	@Override
    	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
    	{
    		db.execSQL("DROP TABLE IF EXISTS "+ BASE_TABLE_NAME);
    		onCreate(db);
    	}
     
    	public long insertUser(String Titre, String Description)
    	{
    		ContentValues userToInsert = new ContentValues();
    		userToInsert.put("titre", Titre);
    		userToInsert.put("bla bla", Description);
    		return db.insert(BASE_TABLE_NAME, null, userToInsert);
    	}
     
    	public ArrayList<String> getPersonnes()
    	{
    		ArrayList<String> output = new ArrayList<String>();
    		String[] Colonnes_Recup = new String[] {"titre", "description"};
     
    		Cursor Resultat = db.query(BASE_TABLE_NAME, Colonnes_Recup, null, null, null, null, "titre asc, description asc", null);
    		if (null != Resultat )
    		{
    			if (Resultat.moveToFirst())
    			{
    				do
    				{
    					int columnId_titre = Resultat.getColumnIndex("titre");
    					int columnId_description = Resultat.getColumnIndex("description");
    					String Result = Resultat.getString(columnId_titre)+" "+  Resultat.getString(columnId_description);
    					output.add(Result);
    				}
    			while (Resultat.moveToNext());
    			}
     
    		}
    		return output;
    	}		
    }
    Mon programme ne démarre même pas, apparement une erreur dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    02-28 13:49:31.511: ERROR/AndroidRuntime(660):     at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:98)
    Je n'arrive pas à savoir ce qui ne va pas.

    Merci d'avance pour votre aide

    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
    02-28 13:49:31.511: ERROR/AndroidRuntime(660): FATAL EXCEPTION: main
    02-28 13:49:31.511: ERROR/AndroidRuntime(660): java.lang.RuntimeException: Unable to start activity ComponentInfo{tuto.phanou/tuto.phanou.tuto}: java.lang.NullPointerException
    02-28 13:49:31.511: ERROR/AndroidRuntime(660):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
    02-28 13:49:31.511: ERROR/AndroidRuntime(660):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
    02-28 13:49:31.511: ERROR/AndroidRuntime(660):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
    02-28 13:49:31.511: ERROR/AndroidRuntime(660):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
    02-28 13:49:31.511: ERROR/AndroidRuntime(660):     at android.os.Handler.dispatchMessage(Handler.java:99)
    02-28 13:49:31.511: ERROR/AndroidRuntime(660):     at android.os.Looper.loop(Looper.java:123)
    02-28 13:49:31.511: ERROR/AndroidRuntime(660):     at android.app.ActivityThread.main(ActivityThread.java:4627)
    02-28 13:49:31.511: ERROR/AndroidRuntime(660):     at java.lang.reflect.Method.invokeNative(Native Method)
    02-28 13:49:31.511: ERROR/AndroidRuntime(660):     at java.lang.reflect.Method.invoke(Method.java:521)
    02-28 13:49:31.511: ERROR/AndroidRuntime(660):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    02-28 13:49:31.511: ERROR/AndroidRuntime(660):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    02-28 13:49:31.511: ERROR/AndroidRuntime(660):     at dalvik.system.NativeStart.main(Native Method)
    02-28 13:49:31.511: ERROR/AndroidRuntime(660): Caused by: java.lang.NullPointerException
    02-28 13:49:31.511: ERROR/AndroidRuntime(660):     at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:98)
    02-28 13:49:31.511: ERROR/AndroidRuntime(660):     at tuto.phanou.Db.<init>(Db.java:26)
    02-28 13:49:31.511: ERROR/AndroidRuntime(660):     at tuto.phanou.tuto.onCreate(tuto.java:48)
    02-28 13:49:31.511: ERROR/AndroidRuntime(660):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    02-28 13:49:31.511: ERROR/AndroidRuntime(660):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
    02-28 13:49:31.511: ERROR/AndroidRuntime(660):     ... 11 more

  2. #2
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private static String CREATE_TABLE = "create table "
    Je crois qu'il te manque le nom de ta table ainsi que les éléments qui sont à l'intérieur de celle-ci .

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 33
    Par défaut
    oups mauvais copier collé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private static String CREATE_TABLE = "CREATE TABLE " +BASE_TABLE_NAME + " (" + " INTEGER PRIMARY KEY AUTOINCREMENT," + "titre VARCHAR(250) NOT NULL," + "description VARCHAR(250) NOT NULL" + ")";
    Voila la ligne entière de mon programme

    Edit : en faite c'est la mise en page qui allait pas entre les balise CODE

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 33
    Par défaut
    Peut être faut-il des permissions particulères dans le manifest ?

  5. #5
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    280
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 280
    Par défaut
    nan c'est juste que la méthode qui te fait erreur doit être dans ton adapter pas dans le helper.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public DBAdapter open(){
    		Log.i("","open");
    		db = DBHelper.getWritableDatabase();
    		Log.i("","open success");
    		return this;
    	}

Discussions similaires

  1. Qt et création base de données SQLITE
    Par flo-1987 dans le forum Qt
    Réponses: 5
    Dernier message: 05/10/2009, 20h18
  2. Réponses: 2
    Dernier message: 08/06/2006, 20h49
  3. Création base de données Oracle sous Winwows
    Par madina dans le forum Oracle
    Réponses: 2
    Dernier message: 19/05/2006, 09h13
  4. création base de données avec easyphp
    Par Battosaiii dans le forum Débuter
    Réponses: 5
    Dernier message: 29/06/2004, 18h50

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