Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não Cria tabela Aluno

Boa noite, meu app não está criando tabela Aluno pode me ajudar por que não está criando Tentei debugar coloquei um ponto de parada onde faz create da tabela.

Apresenta mensagem (android.database.sqlite.SQLiteException: no such table: Aluno (code 1): , while compiling: SELECT * FROM Aluno)

package com.example.tbsil.agenda.dao;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

import com.example.tbsil.agenda.modelo.Aluno;

import java.util.ArrayList;
import java.util.List;
import java.util.jar.Attributes;

/**
 * Created by tbsil on 16/12/2017.
 */

public class AlunoDAO extends SQLiteOpenHelper {

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

    @Override
    public void onCreate(SQLiteDatabase db) {
        String sql = "CREATE TABLE Aluno (id INTEGER PRIMARY KEY, nome TEXT NOT NULL, endereco TEXT, telefone TEXT, site TEXT, nota REAL);";
        db.execSQL(sql);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int versaoAntiga, int versaoNova) {
        String sql = "DROP TABLE IF EXISTS Aluno";
        db.execSQL(sql);
        onCreate(db);
    }

    public void insere(Aluno alunos) {
        SQLiteDatabase db = getWritableDatabase();

        ContentValues dados = new ContentValues();

        dados.put("nome",alunos.getNome());
        dados.put("endereco",alunos.getTelefone());
        dados.put("telefone",alunos.getTelefone());
        dados.put("site",alunos.getSite());
        dados.put("nota",alunos.getNota());

        db.insert("Aluno", null, dados);
    }

    public List<Aluno> buscaAlunos() {
        String sql = "SELECT * FROM Aluno;";
        SQLiteDatabase db= getReadableDatabase();
        Cursor c = db.rawQuery(sql,null);

        List<Aluno> aluno = new ArrayList<Aluno>();
        while (c.moveToNext()){
            Aluno alunos =new Aluno();
            alunos.setId(c.getLong(c.getColumnIndex("id")));
            alunos.setNome(c.getString(c.getColumnIndex("nome")));
            alunos.setEndereco(c.getString(c.getColumnIndex("endereco")));
            alunos.setTelefone(c.getString(c.getColumnIndex("telefone")));
            alunos.setSite(c.getString(c.getColumnIndex("site")));
            alunos.setNota(c.getDouble(c.getColumnIndex("nota")));

            aluno.add(alunos);

        }
        c.close();

        return aluno;
    }
}
1 resposta
solução!

Olá Thiago, tente desinstalar o seu App, para que o Android Studio faça a instalação do zero do seu App.

Pode ser que você tenha alterado o nome da tabela, após já ter executado pelo menos uma vez o seu App. Em vista disso, o Android não entende como uma alteração do seu banco de dados, pois todas as alterações realizadas no seu BD o Android busca no método onUpgrade.

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