Kiedy kompiluję aplikację, te błędy pokazują:
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))'.
Mój Main.java ma ten kod, który ma na celu stworzenie bazy danych i jej tabel:
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 co to może być, bo po prostu uruchamiam aplikację i BAM, błędy w LogCat.
2 odpowiedzi
Zapoznaj się z dokumentacją interfejsu API SQLiteOpenHelper.
ta klasa zajmuje się otwieraniem bazy danych, jeśli istnieje, tworzeniem jej, jeśli nie, i aktualizowaniem jej w razie potrzeby.
Powinieneś spróbować odróżnić onCreate()
od onUpdate()
.
Po prostu skomentuj (//) VerificaDados();
, ponieważ tabele są już utworzone.
onCreate(..){
...
db = openOrCreateDatabase("banco.db", Context.MODE_WORLD_WRITEABLE, null);
...
//VerificaDados();
}
Podobne pytania
Powiązane pytania
Nowe pytania
android
Android to mobilny system operacyjny Google, używany do programowania lub tworzenia urządzeń cyfrowych (smartfony, tablety, samochody, telewizory, Wear, Glass, IoT). W przypadku tematów związanych z Androidem użyj tagów specyficznych dla Androida, takich jak android-intent, android-activity, android-adapter itp. W przypadku pytań innych niż programowanie lub programowanie, ale związanych ze strukturą Androida, użyj tego linku: https: // android.stackexchange.com.