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"};
Pergunta
ceunsp2015
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
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.