Kimossab

GestorBD - T3

Apr 7th, 2015
402
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.23 KB | None | 0 0
  1. package kimossab.cp_tp3;
  2.  
  3. //http://www.androidhive.info/2013/09/android-sqlite-database-with-multiple-tables/
  4.  
  5. import android.content.ContentValues;
  6. import android.content.Context;
  7. import android.database.Cursor;
  8. import android.database.sqlite.SQLiteDatabase;
  9. import android.util.Log;
  10. import android.widget.Toast;
  11.  
  12. import java.util.ArrayList;
  13. import java.util.List;
  14.  
  15. public class GestorBDados
  16. {
  17.     public static final String TABLEN = "Contactos";
  18.     public static final String CRIARTABELA = "CREATE TABLE "+TABLEN+" (ID INTEGER PRIMARY KEY autoincrement, Nome TEXT, Contacto TEXT)";
  19.     public boolean creado;
  20.     //-------------------------------------
  21.     private Context ref_contexto;
  22.     private SQLiteDatabase database;
  23.     private BDHelper HelpBD;
  24.  
  25.     public GestorBDados(Context con)
  26.     {
  27.         ref_contexto = con;
  28.         HelpBD = new BDHelper(ref_contexto);
  29.         database = HelpBD.getWritableDatabase();
  30.         creado = HelpBD.creado;
  31.     }
  32.     public void FecharGestorBDados()
  33.     {
  34.         if (database != null && database.isOpen())
  35.             database.close();
  36.     }
  37.  
  38.     public void InsertBD(String nome, String cont)
  39.     {
  40.         ContentValues values = new ContentValues();
  41.         values.put("Nome", nome);
  42.         values.put("Contacto", cont);
  43.         database.insert(TABLEN, null, values);
  44.     }
  45.  
  46.     public int PesquisarNome(String nome)
  47.     {
  48.         String cmd = "SELECT Count(*) FROM "+TABLEN+" WHERE Nome LIKE '%"+nome+"%'";
  49.         Log.i("Pesquisar",cmd);
  50.         Cursor c = database.rawQuery(cmd, null);
  51.         c.moveToFirst();
  52.         int n = c.getInt(0);
  53.         c.close();
  54.         return n;
  55.     }
  56.  
  57.     public void Update()
  58.     {
  59.         HelpBD.onUpgrade(database,1, 2);
  60.         database = HelpBD.getWritableDatabase();
  61.     }
  62.  
  63.     public void RemDB()
  64.     {
  65.         database.rawQuery("DROP TABLE "+TABLEN, null);
  66.         creado = false;
  67.         HelpBD.onCreate(database);
  68.     }
  69.  
  70.     public void RemUmPal()
  71.     {
  72.         Cursor c;
  73.         int n;
  74.         c=database.rawQuery("SELECT Count(*) FROM "+TABLEN, null);
  75.         c.moveToFirst();
  76.         n = c.getInt(0);
  77.  
  78.         /*String cmd = "DELETE FROM "+TABLEN+" WHERE Nome LIKE '%Ca%'";
  79.         database.rawQuery(cmd,null);*/
  80.         database.delete(TABLEN,"Nome NOT LIKE '% %'",null);
  81.  
  82.         c=database.rawQuery("SELECT Count(*) FROM "+TABLEN, null);
  83.         c.moveToFirst();
  84.         n-=c.getInt(0);
  85.         c.close();
  86.  
  87.         Toast.makeText(ref_contexto,"Removidas " + n + " entradas.",Toast.LENGTH_SHORT).show();
  88.     }
  89.  
  90.     public ArrayList<String> GetNome(String nome)
  91.     {
  92.  
  93.         ArrayList<String> lresultado = new ArrayList<>();
  94.         String cmd = "SELECT  * FROM Contactos WHERE Nome LIKE '" + nome + "'";
  95.         Cursor c = database.rawQuery(cmd, null);
  96.  
  97.         c.moveToFirst();
  98.         lresultado.add(c.getString(c.getColumnIndex("ID")));
  99.         lresultado.add(c.getString(c.getColumnIndex("Nome")));
  100.         lresultado.add(c.getString(c.getColumnIndex("Contacto")));
  101.  
  102.         c.close();
  103.  
  104.         return lresultado;
  105.     }
  106.  
  107.     public void UpdateRow(int id, String nome, String num)
  108.     {
  109.        /* String cmd = "UPDATE "+TABLEN+" SET Nome = '"+nome+"', Contacto = '"+num+"' WHERE ID = "+id;
  110.         Log.i("Update row", cmd);
  111.         database.rawQuery(cmd, null);*/
  112.  
  113.  
  114.         ContentValues values = new ContentValues();
  115.         values.put("Nome", nome);
  116.         values.put("Contacto", num);
  117.         database.update(TABLEN,values,"ID = "+id,null);
  118.     }
  119.  
  120.     public ArrayList<String> GetDados()
  121.     {
  122.         ArrayList<String> res = new ArrayList<>();
  123.  
  124.         String cmd = "SELECT * FROM Contactos";
  125.         Cursor c = database.rawQuery(cmd, null);
  126.         String aux;
  127.  
  128.         if (c.moveToFirst())
  129.             do
  130.             {
  131.                 res.add(c.getString(c.getColumnIndex("ID")) + " - "+ c.getString(c.getColumnIndex("Nome")));
  132.             }while (c.moveToNext());
  133.         c.close();
  134.         return res;
  135.     }
  136.     public String GetNumber(int id)
  137.     {
  138.         String cmd = "SELECT Contacto FROM Contactos WHERE ID = "+id;
  139.         Cursor c = database.rawQuery(cmd,null);
  140.         c.moveToFirst();
  141.         String x = c.getString(0);
  142.         c.close();
  143.         return x;
  144.     }
  145. }
Advertisement
Add Comment
Please, Sign In to add comment