2 votes

Impossible de créer une base de données dans l'activité de liste

J'essaie de créer une base de données dans listactivity sur un clic de bouton mais j'obtiens une erreur

La méthode openOrCreateDatabase(String, int, null) est indéfinie pour le type new View.OnClickListener(){}" et "DefaultDBHelper ne peut être résolu.

Y a-t-il un moyen de faire cela dans une liste d'activités ? Aidez-moi ! !!

mon code :

reset.setOnClickListener(new OnClickListener() 
{
   private int count;
   @Override public void onClick(View v) 
   {
      SQLiteDatabase myDB = this.openOrCreateDatabase(MY_DATABASE_NAME, SQLiteDatabase.OPEN_READWRITE, null);
      try 
      { 
          /* Create the Database (no Errors if it already exists) */
          // myDB = dbHelper.getWritableDatabase();
          // dbHelper.onCreate(myDB);
          myDB.execSQL("CREATE TABLE IF NOT EXISTS " 
                       + DefaultDBHelper.MY_DATABASE_TABLE 
                       + " (LastName VARCHAR, FirstName VARCHAR," 
                       + " Country VARCHAR, Age INT(3));");

          myDB.execSQL("INSERT INTO " 
                       + DefaultDBHelper.MY_DATABASE_TABLE 
                       + " (LastName, FirstName, Country, Age)" 
                       + " VALUES ('name', 'title', 'country', 20);"); 
      }
      catch (SQLiteException e) { 
      } 
      finally { 
         if (myDB != null) 
            myDB.close(); 
      }
   }
});

4voto

kannappan Points 1600

Il suffit de changer le code comme ceci

SQLiteDatabase myDB = getBaseContext().openOrCreateDatabase(MY_DATABASE_NAME, SQLiteDatabase.OPEN_READWRITE, null);

J'ai pensé que cela pourrait vous aider

0voto

rogerstone Points 1723
 reset.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                 SQLiteDatabase myDB =openOrCreateDatabase("DB_NAME", MODE_WORLD_WRITEABLE ,null);

            }
        });

Le code suivant fonctionnera. Je l'ai testé. Le este faisait référence à l'objet OnClickListener que vous aviez créé à cet endroit et qui était à l'origine de l'erreur de compilation. este résoudra le problème

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X