Ir para conteúdo
Fórum Script Brasil
  • 0

Erro ao consultar informações DB SQLITE


ceunsp2015

Pergunta

Boa noite amigos.

Estamos ultilizando a classe sqliteopenhelper do android para conexão com o banco de dados, o nosso metodo salvar(), está funcionando perfeitamente, mas noss metodo buscar() onde meu cursor lista todas as cidade cadastradas não está encontrando a tabela, trazendo o seguinte erro no logcat: no such table cidade.

Abaixo segue nossa classe cidade onde é para exibir nossa lista de cidades e tb segue nossa CidadeDataSource onde encontra-se todos metodos de manipulação do banco.

O erro acontece no onstart na CidadeActivity

    protected void onStart() {
        super.onStart();
        Log.i(LOGTAG, "Entramos no OnStart");
        this.popularLista((ArrayList<Cidade>)ds.buscar());
        
    }
  

Que chama o me metodo buscar() da minha CidadeDataSource

public  List<Cidade> buscar(){
    
    String[] colunas = new String [] {"_id", "nome", "estado"};
    
    Cursor cursor = db.query("cidade", colunas, null, null, null, null, "nome ASC");
    
    Log.i(LOGTAG, "Entramos no Buscar");    
    
    return obterLista(cursor);
}

 

 

Muito obrigado desde já amigo.

 

package com.example.biowater3;

import java.util.ArrayList;

import com.example.biowater3.conf.Cidade;
import com.example.biowater3.data.CidadeDataSource;
import com.example.biowater3.helper.CidadeAdapter;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;



public class CidadeActivity extends Activity {
    
    public static final String LOGTAG = "Informacoes";
    CidadeDataSource ds;
    CidadeAdapter adapter;
    ArrayList<Cidade> listaCidade;
    

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_cidade);
        getActionBar().setDisplayHomeAsUpEnabled(true);
        
        startDataBase();
        registerForContextMenu ((ListView) findViewById(R.id.cidadeListView));
        
    }

    protected void onStart() {
        super.onStart();
        Log.i(LOGTAG, "Entramos no OnStart");
        this.popularLista((ArrayList<Cidade>)ds.buscar());
        
    }
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        getMenuInflater().inflate(R.menu.cidade, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        
        int id = item.getItemId();
        if (id == R.id.action_conf) {
           Intent objIntent = new Intent (this, ConfigActivity.class);
           startActivity (objIntent);
    
        
        }
        return super.onOptionsItemSelected(item);
    }
    

    @Override
    public void onCreateContextMenu(ContextMenu menu, View v,
            ContextMenuInfo menuInfo) {
        
        AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)menuInfo;
        menu.setHeaderTitle(listaCidade.get(info.position).getNome());
        
        getMenuInflater().inflate(R.menu.ctx_cidade_menu, menu);
        
    }
    
    @Override
    public boolean onContextItemSelected(MenuItem item) {
        AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item;
                
        switch (item.getItemId()) {
        case R.id.ctx_cidade_menu_editar :
            Intent intent = new Intent(this, CadCidadeActivity.class);
            Bundle bundle = new Bundle();
            bundle.putSerializable("objCidade", listaCidade.get(info.position) );
            intent.putExtras(bundle);
            startActivity(intent);
            break;
            
        case R.id.ctx_cidade_menu_apagar :
            excluirCidade(info.position);
            break;
            default:
                break;
    
        }
                
                return true;
    }
    
    
    private void excluirCidade(int posicaoExcluir) {
        final int posicaoRemover = posicaoExcluir;
        final ArrayList<Cidade> lst = this.listaCidade;
        
        AlertDialog.Builder adb=new AlertDialog.Builder(this);
        adb.setTitle("Excluir - " + lst.get(posicaoExcluir).getNome());
        adb.setMessage("Tem certeza que deseja excluir este registro?");
        adb.setNegativeButton("Não", null);
        adb.setPositiveButton("Sim", new AlertDialog.OnClickListener(){
            
            @Override
            public void onClick(DialogInterface dialog, int whitch){
                if(!(adapter == null)){
                    ds.deletar(lst.get(posicaoRemover));
                    Toast.makeText(getApplicationContext(), "O Registro: " + lst.get(posicaoRemover) + "Foi Removido Com Sucesso!!", Toast.LENGTH_LONG).show();
                    lst.remove(posicaoRemover);
                    adapter.notifyDataSetChanged();
                }
                }
        });
        
        adb.show();
        
    }


    private void startDataBase() {
        ds = new CidadeDataSource(this);
        ds.open();                
    }
    
    
    private void popularLista (ArrayList<Cidade> cidade){
        
        this.listaCidade = cidade;
        adapter = new CidadeAdapter(this, this.listaCidade);
        ListView lista = (ListView) findViewById(R.id.cidadeListView);
        lista.setAdapter (adapter);
    }
}
 

 

 

=================================================================================================

 

package com.example.biowater3.data;

import java.util.ArrayList;
import java.util.List;

import com.example.biowater3.conf.Cidade;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;

public class CidadeDataSource {
    
    public static final String LOGTAG = "informacoes";
    private SQLiteDatabase db;
    private MainDBBio dbHelper;
    
    public CidadeDataSource(Context context){
        
        dbHelper = new MainDBBio (context);
        
    }
    
    public void open (){
        Log.i(LOGTAG, "BANCO DE DADOS ABERTO");
        db = dbHelper.getWritableDatabase();
        
    }
    
    public void close(){
        Log.i(LOGTAG, "BANCO DE DADOS FECHADO");
        dbHelper.close();
        
    }
    
    
public Cidade inserir (Cidade cidade){
        
        ContentValues valores = new ContentValues();
        
        valores.put("nome", cidade.getNome());    
        valores.put("estado", cidade.getEstado());
        
        cidade.setId(db.insert("cidade", null, valores ));
        return cidade;
        
            
    }

public void atualizar (Cidade cidade){
    
    ContentValues valores = new ContentValues();
    valores.put("nome", cidade.getNome());
    valores.put("estado", cidade.getEstado());
    
    db.update("cidade", valores, "_id = " + cidade.getId(), null );
    
    
}

public void deletar (Cidade cidade){
    
    db.delete("cidade","_id = " + cidade.getId(),null);
    
}

public  List<Cidade> buscar(){
    
    String[] colunas = new String [] {"_id", "nome", "estado"};
    
    Cursor cursor = db.query("cidade", colunas, null, null, null, null, "nome ASC");
    
    Log.i(LOGTAG, "Entramos no Buscar");    
    
    return obterLista(cursor);
}

public List<Cidade> filtrar(String selecao, String ordenacao){
    
    String[] colunas = new String[] {"_id", "nome"};
    Cursor cursor = db.query("cidade", colunas, selecao , null, null, null , ordenacao);
    
    return obterLista(cursor);
    
    }
    
    private List<Cidade> obterLista (Cursor cursor){
        
        List<Cidade> listaCidade = new ArrayList<Cidade>();
        
        if(cursor.getCount() > 0 ){
            
            while (cursor.moveToNext() ) {
                
                Cidade cidade = new Cidade();
                
                cidade.setId(cursor.getLong(cursor.getColumnIndex("_id")));
                cidade.setNome(cursor.getString(cursor.getColumnIndex("nome")));
                cidade.setEstado(cursor.getString(cursor.getColumnIndex("estado")));
                
                listaCidade.add(cidade);
            }
        }
                
        return listaCidade;
    }
    


}

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...