/ / Android SQLite adiciona novas colunas à tabela - android, android-sqlite

Android SQLite adiciona novas colunas à tabela - android, android-sqlite

Eu tenho um banco de dados SQLite no meu aplicativo e agora fiz algumas alterações no aplicativo, nos valores etc. e preciso renomear (ou excluir e adicionar novo) a coluna.

Acabei de renomear o nome da coluna, mas agora recebo o

sqlite.sqliteexception no such column error...

Devo usar algum método diferente para alterar a tabela (nomes de colunas) em vez dessa abordagem direta de amador, que obviamente retorna esse erro?

ATUALIZAR

O truque é apenas mudar a versão do banco de dados:

    public DatabaseManidzer(Context context){
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){

Log.w(DatabaseManidzer.class.getName(),"Upgrading database from version " + oldVersion + " to "
+ newVersion + ", which will destroy all old data");

db.execSQL("DROP TABLE IF EXISTS " + TABLE_VNOSI);
onCreate(db);

}

Respostas:

3 para resposta № 1

Sim, se você estiver usando um DatabaseHelper, existe uma maneira de atualizar o esquema do banco de dados.

você pode encontrar muitos tutoriais sobre como fazer isso.

Aqui está um. Esquema SQLite DB de atualização do Android?

O método que você está procurando é onUpgrade

E não renomeie as variáveis ​​que referenciam as colunas reais da tabela, a menos que você altere os nomes reais das colunas primeiro. Você precisará usar consultas sql para fazer o que quiser.


0 para resposta № 2

Você pode simplesmente adicionar uma consulta ALTER TABLE no diretórioonUpgrade e, em seguida, não se esqueça de aumentar a versão do banco de dados em sua classe auxiliar, dessa forma você manterá os dados existentes na tabela. Ou, se você ainda estiver em desenvolvimento, basta soltar a tabela e recriá-la com o novo alterar. Se você me der um exemplo do que está tentando obter, posso ajudá-lo mais.

Obrigado.


0 para resposta № 3

se versão do banco de dados: 6 Ex: Existe uma tabela com 5 colunas

Quando você atualiza para: 7

  1. Precisamos adicionar as colunas ao criar uma tabela
  2. método onUpgrade:

    if (oldVersion <7)
    { db.execSQL (DATABASE_ALTER_ADD_PAPER_PAID); db.execSQL (DATABASE_ALTER_LAST_UPLOADED); db.execSQL (DATABASE_ALTER_PAPER_LABEL); }

Após as duas operações acima, ele funcionará bem para o usuário de instalação nova e o usuário de atualização de aplicativo

Saudações Vinod