>

Fórum

Fórum da RL System, voltado para analistas, programadores etc. Tudo sobre linguagem de programação e desenvolvimento Full Stack: Banco de Dados, Android, C#, Java, .NET, PHP, Node, Javascript, TypeScript, Front, HTML e muito mais.



Erro ao tentar criar 2 tabelas com SqliteOpenHelper


Ola Rafael tenho uma classe Banco que funciona normalmente com apenas 1 tabela e ao tentar criar a segunda que no caso aqui é a minha tabela de RACA
o logcat do android me diz que esta tabela nao existe ... o por que disso ? ja tentei criar em arquivos separados e não consegui ,o log me retorna o mesmo erro... PODE ME AJUDAR ?

public class Banco extends SQLiteOpenHelper{

private static String DBname = "tcc.db";
private static String sqlCor = "CREATE TABLE [COR] ([ID] INTEGER PRIMARY KEY AUTOINCREMENT, DESCRICAO VARCHAR(50));";
private static String sqlRaca = "CREATE TABLE [RACA] ([ID] INTEGER PRIMARY KEY AUTOINCREMENT, DESCRICAO VARCHAR(50));";
public static int version = 1;

public Banco(Context ctx) {
super(ctx,DBname,null, version);

}

@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(sqlCor);
db.execSQL(sqlRaca);
}

@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {


}


__________________________________________________________________________________________________

ERRO GERADO APÓS A TENTATIVA DE GRAVAR O REGISTRO

07-14 02:48:26.087: D/OpenGLRenderer(7021): Flushing caches (mode 0)
07-14 02:48:28.127: D/ViewRootImpl(7021): pckname = br.com.carhorses
07-14 02:48:30.617: I/SqliteDatabaseCpp(7021): sqlite returned: error code = 1, msg =null no such table: RACA, db=/data/data/br.com.carhorses/databases/tcc.db
07-14 02:48:30.627: E/SQLiteDatabase(7021): Error inserting DESCRICAO=hhhh
07-14 02:48:30.627: E/SQLiteDatabase(7021): android.database.sqlite.SQLiteException: no such table: RACA: , while compiling: INSERT INTO RACA(DESCRICAO) VALUES (?)





2 Respostas


Reescreva o método Onupgrade e manda dar um alter table nele... de acordo com a versão do banco .... coloque o version como 2....




Olá

Apaga o .db via shell e tente novamente.

Como Wesley disse, qualquer update no DDL do banco tem que ser no onUpgrade, há não ser que você faça o que eu disse acima.