Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 11336

Verificar se Registo Existe em BD SQLite e caso não exista Retornar Mensagem

$
0
0
Boas noite, Estou a tentar fazer uma pequena app que consiste pesquisar numa base de dados SQLite. Para a pesquisa irei usar duas formas, ou seja através do Numero ONU e através do Nome. No entanto estou a deparar-me com um problema, a app estoura no caso de se tentar pesquisar sobre algum registo que não exista. Como poderei fazer para que seja despoletada uma mensagem de erro no caso da pesquisa não encontrar um resultado? DbHelper: //Metodo ONU Query public List<Elemento> getONU() { List<Elemento> listaElementos = new ArrayList<Elemento>(); //Seleccionar Query String selectQuery = "SELECT *FROM " + TABLE_NAME + " WHERE ONU = " + MainActivity.editText_ONU_search.getText(); dbase = this.getReadableDatabase(); Cursor cursor = dbase.rawQuery(selectQuery, null); //Loop por todas as linhas da BD e adiciona-las a lista if(cursor.moveToFirst()) { Elemento element = new Elemento(); element.setID(cursor.getInt(0)); element.setONU(cursor.getInt(1)); element.setNOME_SUB(cursor.getString(2)); listaElementos.add(element); } //Return listaElementos; return listaElementos; } //Metodo Nome Query public List<Elemento> getNomeSubstancia() { List<Elemento> listaElementos = new ArrayList<Elemento>(); //Seleccionar Query String selectQuery = "SELECT * FROM " + TABLE_NAME + " WHERE NOME_SUB = '" + MainActivity.editText_NOME_search.getText() + "'"; dbase = this.getReadableDatabase(); Cursor cursor = dbase.rawQuery(selectQuery, null); //Loop por todas as linhas da BD e adiciona-las a lista if(cursor.moveToFirst()) { Elemento element = new Elemento(); element.setID(cursor.getInt(0)); element.setONU(cursor.getInt(1)); element.setNOME_SUB(cursor.getString(2)); listaElementos.add(element); } //Return listaElementos; return listaElementos; } OnuResultActivity: package com.example.nuno.materiasperigosasexample; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.TextView; import com.example.nuno.materiasperigosasexample.Database.DbHelper; import com.example.nuno.materiasperigosasexample.Database.Elemento; import java.util.List; public class OnuResultActivity extends AppCompatActivity { //Declaração de variaveis List<Elemento> listaElementos; int elemento_id = 0; Elemento currentElemento; TextView textView_onu, textView_nome_sub; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_onu_result); DbHelper db = new DbHelper(this); listaElementos = db.getONU(); currentElemento = listaElementos.get(elemento_id); textView_onu = (TextView)findViewById(R.id.textView_onu); textView_nome_sub = (TextView) findViewById(R.id.textView_nome_sub); //Apresentar Info setElementosView(); } private void setElementosView() { textView_onu.setText(Integer.toString(currentElemento.getONU())); textView_nome_sub.setText(String.valueOf(currentElemento.getNOME_SUB())); elemento_id++; } } NomeResultActivity: package com.example.nuno.materiasperigosasexample; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; import com.example.nuno.materiasperigosasexample.Database.DbHelper; import com.example.nuno.materiasperigosasexample.Database.Elemento; import java.util.List; public class NomeResultActivity extends AppCompatActivity { //Declaração de variaveis List<Elemento> listaElementos; int elemento_id = 0; Elemento currentElemento; TextView textView_onu, textView_nome_sub; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_nome_result); DbHelper db = new DbHelper(this); listaElementos = db.getNomeSubstancia(); currentElemento = listaElementos.get(elemento_id); textView_onu = (TextView)findViewById(R.id.textView_onu); textView_nome_sub = (TextView) findViewById(R.id.textView_nome_sub); //Apresentar Info setElementosView(); } private void setElementosView() { textView_onu.setText(Integer.toString(currentElemento.getONU())); textView_nome_sub.setText(String.valueOf(currentElemento.getNOME_SUB())); elemento_id++; } } Alguma ideia de como poderei retornar uma mensagem de aviso quando a pesquisa não é encontrada de forma a cobrir a possibilidade de a pesquisa inserida pelo utilizador ser não corresponder ao que está na BD. Cumprimentos Psycop

Viewing all articles
Browse latest Browse all 11336

Trending Articles