3
respostas

Erro no findAll

Ok, vamos lá. Fiz exatamente como o professor fez ao longo do projeto. Nisso, tentei executar o projeto e retornou esse erro:

ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception:
DatabaseException(table taskTable has no column named imagem
(code 1 SQLITE_ERROR): , while compiling: INSERT INTO taskTable
(nome, dificuldade, imagem) VALUES (?, ?, ?)) sql 'INSERT INTO taskTable
(nome, dificuldade, imagem) VALUES (?, ?, ?)' args [PIPOCA, 1,
https://media.gazetadopovo.com.br/2022/11/11133541...]

O método do findAll está desse jeito

  Future<List<Task>> findAll() async {
    print('Acessando o findAll: ');
    final Database bancoDeDados = await getDatabase();
    final List<Map<String, dynamic>> result =
        await bancoDeDados.query(_tablename);
    print('Procurando dados no DataBase... encontrado: $result');
    return toList(result);
  }

Alguém sabe me dizer exatamente a onde errei?

3 respostas

Olá Gabriel, tudo bem?

Pelo erro que foi apresentado, parece que a tabela "taskTable" não possui a coluna "imagem". Verifique se a tabela foi criada corretamente e se a coluna "imagem" foi adicionada na criação da tabela.

Uma solução seria adicionar a coluna "imagem" na tabela "taskTable". Para isso, você pode utilizar o seguinte comando SQL:

ALTER TABLE taskTable ADD COLUMN imagem TEXT

Espero ter ajudado e bons estudos!

Valeu pela ajuda!

Só mais uma coisa, eu adiciono o comando SQL aqui? certo?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Oi Gabriel, verifique o comando acima variavel tableSQL, o tipo da coluna difficulty é INTEGER (não INTERGER), e tem vírgula após o tipo, ok?