Ir ao conteúdo

Posts recomendados

Postado

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 nosso 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 = "informações";    CidadeDataSource ds;    CidadeAdapter adapter;    ArrayList<Cidade> listaCidade;        @[member="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());            }        @[member="override"]    public boolean onCreateOptionsMenu(Menu menu) {        getMenuInflater().inflate(R.menu.cidade, menu);        return true;    }    @[member="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);    }        @[member="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);            }        @[member="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(){                        @[member="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 = "informações";    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;    }    }
Postado

A única resposta possível é que... não existe a tabela 'cidade'...

 

Revise o código de criação do banco de dados, se a tabela é criada e se a tabela é criada com o nome 'cidade' mesmo.

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...