2012-09-25 2 views
0

Lorsque je compile l'application de ces erreurs montrent:erreurs de LogCat lors de la compilation App

sqlite returned: error code = 1, msg = table mensagens already exists 
    Failure 1 (table mensagens already exists) on 0x240328 when preparing 'create table mensagens(mensagemsalva varchar(250),mensagemenviada varchar(250))'. 
    sqlite returned: error code = 1, msg = table contatos already exists 
    Failure 1 (table contatos already exists) on 0x240328 when preparing 'create table contatos(nome varchar(50),telefone varchar(20))'. 

Mon Main.java a ce code qui est destiné à créer la base de données et ses tables:

onCreate(..){ 
    ... 
    db = openOrCreateDatabase("banco.db", Context.MODE_WORLD_WRITEABLE, null); 
    ... 
    VerificaDados(); 
    } 

    private void VerificaDados() { 
    // TODO Auto-generated method stub 

    try { 
     //cria uma TABLE de nome MENSAGENS 
     db.execSQL("create table mensagens(mensagemsalva varchar(250),mensagemenviada varchar(250))"); 
     //ShowMessage("Banco","Criou a tabela de mensagens"); 
    } 
    catch (Exception e) { 

     } 
    try{ 
     //cria uma TABLE de nome CONTATOS 
     db.execSQL("create table contatos(nome varchar(50),telefone varchar(20))"); 
     //ShowMessage("Banco","Criou a tabela de contatos"); 
    }catch (Exception a){ 

    } 

} 

idk ce que cela peut être parce que je viens de lancer l'application et BAM, des erreurs dans LogCat.

+0

Ce ne sont pas des erreurs du compilateur, mais les erreurs survenant dès que le lancement de votre application. Avez-vous déjà lu les messages d'erreur? Vous essayez de créer des tables qui existent déjà. – Ridcully

+0

(je pensais que c'était des erreurs de compilation, désolé xx) Eh bien, je sais qu'ils existent, mais si vous voyez qu'ils sont "essayer" et "attraper" et d'ailleurs je l'ai utilisé et aucun problème de ce genre avant –

+0

try-catch intercepte les exceptions, les erreurs consignées ne sont pas des exceptions mais méritent une sortie de sqlite. – Ridcully

Répondre

1

Jetez un coup d'œil aux documents API SQLiteOpenHelper.

Cette classe prend soin d'ouvrir la base de données si elle existe, en créant si elle ne l'est pas, et en la mettant à niveau si nécessaire.

Vous devriez essayer de faire la distinction entre onCreate() et onUpdate().

+0

Oui, je sais un peu mais mon application n'a pas besoin ni parce que c'est une application seulement pour les gens dans mon travail (environ 15 personnes), mais cela ne vient pas à cela, la chose est que je avait le même code avant et il a fonctionné tout aussi bien mais pas maintenant ne sais pas pourquoi –

+0

OK, mais l'application se bloque du tout, ou êtes-vous seulement inquiet à cause des messages d'erreur SQLite dans le fichier journal? – Ridcully

+0

im inquiet parce que lorsque vous ouvrez les messages d'erreur de l'application dans le journal et après dans l'application lorsque je tente de modifier une valeur de contacts dans la base de données. –

0

Just Commenter (//) le VerificaDados(); car les tables sont déjà créées.

onCreate(..){ 
    ... 
db = openOrCreateDatabase("banco.db", Context.MODE_WORLD_WRITEABLE, null); 
    ... 
    //VerificaDados(); 
    } 
Questions connexes