Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Aula 4.2 após exercício sms erro ao cadastrar aluno.

05-19 10:26:54.923 14560-14560/br.com.agenda.agenda E/SQLiteLog: (1) table Alunos has no column named caminhoFoto

05-19 10:26:54.923 14560-14560/br.com.agenda.agenda E/SQLiteDatabase: Error inserting site= nome=Silvanio Duarte da Cruz caminhoFoto= nota=0.0 endereco= telefone=

android.database.sqlite.SQLiteException: table Alunos has no column named caminhoFoto (code 1): , while compiling: INSERT INTO Alunos(site,nome,caminhoFoto,nota,endereco,telefone) VALUES (?,?,?,?,?,?)

4 respostas

Silvânio, tudo bem ?

Cara, vamos dar uma olhadinha na exception que deu ai :

table Alunos has no column named caminhoFoto

Está falando que no seu banco a tabela Alunos não possui a coluna caminhoFoto, você utilizou o onUpgrade e subiu a versão do banco para ele executar a evolução ?

Abraços :D

Sim, fiz!

´´´public AlunoDAO(Context context) { super(context, "Agenda", null, 2); }

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

String sql = "";

switch (oldVersion) {

case 1 :

sql = "ALTER TABLE Alunos ADD COLUMN caminhoFoto TEXT"; db.execSQL(sql);

}

}´´´

O evento Create esta assim:

´´´ public void onCreate(SQLiteDatabase db) {

String sql = "CREATE TABLE Alunos (id INTEGER PRIMARY KEY, nome TEXT NOT NULL, endereco TEXT, telefone TEXT, site TEXT, nota REAL, caminhFoto TEXT);"; db.execSQL(sql); }´´´

solução!

Observe no Ultimo post que fiz, na isntrução SQL, consta "caminhFoto" e não "caminhoFoto". Creio que devo ter apagado isso acidentalmente, corrigi e desinstalei o aplicativo, mudei a versão do DB para 1 e compilei. Assim parece ter corrigido.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software