Versão atual:

Select está retornando vazio

Olá pessoal. estou tentando criar um crud simples com android.. abri a conexão, criei a base e a tabela, consegui inserir dados nela (eu acho) mas ao tentar obter os dados inseridos o cursor está retornando vazio.

abaixo bloco de código que estou testando na minha activity

Desde já agradeço a compreensão e qualquer apoio

try{
            Prefixo prefixo = new Prefixo("Á Cobrar", 9090, "Insere prefixo 9090 antes do número");        
            PrefixoDataAccessObject dao = new PrefixoDataAccessObject(getApplicationContext());

            long insert = dao.insert(prefixo);

            Cursor cursor = dao.findAll();
            int count = cursor.getCount();
            while (cursor.moveToNext()) {
                String string = cursor.getString(cursor.getColumnIndex("label"));
            }            
        }catch(Exception e){
            e.printStackTrace();
        }

modelo de dado

public class Prefixo {
    private int id;
    private String label;
    private int numero;
    private String descricao;
    private boolean isDefault;

    public Prefixo(String label, int numero, String descricao){
        this.label = label;
        this.numero = numero;
        this.descricao = descricao;
    }
    public Prefixo(String label, int numero){
        this.label = label;
        this.numero = numero;
    }
    public Prefixo() {
        this(null,0,null);
    }

    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }    
    public String getLabel() {
        return label;
    }
    public void setLabel(String label) {
        this.label = label;
    }
    public int getNumero() {
        return numero;
    }
    public void setNumero(int numero) {
        this.numero = numero;
    }
    public String getDescricao() {
        return descricao;
    }
    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }
    public boolean isDefault() {
        return isDefault;
    }
    public void setDefault(boolean isSelected) {
        this.isDefault = isSelected;
    }


}

DataAccessObject

public class PrefixoDataAccessObject {
    SQLiteDatabase database;
    private static final String TABELA = "prefixo";

    public PrefixoDataAccessObject(Context context) {
        database = ConexaoUtil.getDatabaseFromContext(context);
        createTable();
    }

    private void createTable() {
        String sql = "CREATE TABLE IF NOT EXISTS " + TABELA + "("
                + "    id INTEGER PRIMARY KEY AUTOINCREMENT," + "    label TEXT,"
                + "    numero INTEGER," + "    descricao TEXT,"
                + "    is_selected INTEGER" + ");";

        database.execSQL(sql);
    }

    public long insert(Prefixo prefixo) {

        ContentValues values = getContentValues(prefixo);
        database.beginTransaction();
        long insert = database.insert(TABELA, null, values);
        database.endTransaction();

        return insert;

    }

    public Cursor findAll(){
        return database.rawQuery("SELECT * FROM "+TABELA+"", null);
    }

    private ContentValues getContentValues(Prefixo prefixo){
        ContentValues values = new ContentValues();
        if(prefixo.getId() != 0)
            values.put("id", prefixo.getId());

        values.put("label", prefixo.getLabel());
        values.put("numero", prefixo.getNumero());
        values.put("descricao", prefixo.getDescricao());
        values.put("is_selected", (prefixo.isDefault() ? 1 : 0));

        return values;
    }
}

Objeto que criei para criar/abrir base de dados

public class ConexaoUtil {

    public static final String DATABASE_NAME = "discador_br";

    public static SQLiteDatabase getDatabaseFromContext(Context context){
        return context.openOrCreateDatabase(DATABASE_NAME, Context.MODE_PRIVATE, null);
    }
}

Mais uma vez obrigado pela atenção!

Versões(2):

Ver a versão formatada

Select está retornando vazio

  • criado 22 de abr de 2014

Comentário

new question