· 9 years ago · Aug 18, 2017, 07:16 PM
1package com.example.pwdm15.exemplobasededados;
2
3import android.content.ContentValues;
4import android.content.Context;
5import android.database.Cursor;
6import android.database.sqlite.SQLiteDatabase;
7import android.database.sqlite.SQLiteOpenHelper;
8
9import static android.R.attr.id;
10
11/**
12 * Created by pwdm15 on 28/07/2017.
13 */
14
15public class DBHelper extends SQLiteOpenHelper {
16
17 private static int versao = 1;
18 private static String nomeBD = "ExemploBaseDados";
19
20 public DBHelper(Context context){
21 super(context, "nomeBD", null, versao);
22 }
23
24 @Override
25 public void onCreate(SQLiteDatabase db) {
26 String tabela = "CREATE TABLE Utilizador (" +
27 "id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, " +
28 "username TEXT UNIQUE, password TEXT);";
29
30 String produto = "CREATE TABLE Produto (" +
31 "id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, " +
32 "produto_nome TEXT UNIQUE, produto_quantidade INTEGER );";
33
34 db.execSQL(tabela);
35 db.execSQL(produto);
36 }
37
38 @Override
39 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
40 versao++;
41 db.execSQL("DROP TABLE IF EXISTS Produto");
42 db.execSQL("DROP TABLE IF EXISTS Utilizador");
43 onCreate(db);
44 }
45
46 public String ValidarLogin (String username, String password) {
47 SQLiteDatabase db = getReadableDatabase();
48 Cursor c = db.rawQuery("SELECT * FROM Utilizador WHERE username = ? AND password = ?", new String[]{username, password});
49
50 if(c.getCount()>0){
51 return "OK";
52 }
53
54 else{
55 return "ERRO";
56 }
57 }
58
59 public String consultarProduto (String produto_nome) {
60 SQLiteDatabase db = getReadableDatabase();
61 Cursor p = db.rawQuery("SELECT * FROM Produto WHERE produto_nome = ?", new String[]{produto_nome});
62
63 if(p.getCount()>0){
64 p.moveToFirst();
65 String str="";
66 /*str+=p.getString(p.getColumnIndex("id"));*/
67 str+="Produto: " + p.getString(p.getColumnIndex("produto_nome"));
68 str+=" Quantidade: " + p.getString(p.getColumnIndex("produto_quantidade"));
69 return str;
70 }
71
72 else{
73 return "Produto não disponÃvel";
74 }
75 }
76
77 public String obterIDProduto (String produto_nome) {
78 SQLiteDatabase db = getReadableDatabase();
79 Cursor p = db.rawQuery("SELECT id FROM Produto WHERE produto_nome = ?", new String[]{produto_nome});
80
81 if(p.getCount()>0){
82 p.moveToFirst();
83 String resultado = String.valueOf(p.getInt(p.getColumnIndex("id")));
84 return resultado;
85 }
86
87 else{
88 return "Produto não disponÃvel";
89 }
90 }
91
92 public String editarProduto(String id, String produto_nome, int produto_quantidade){
93 SQLiteDatabase db = getWritableDatabase();
94 ContentValues cv = new ContentValues();
95 cv.put("id", id);
96 cv.put("produto_nome", produto_nome);
97 cv.put("produto_quantidade", produto_quantidade);
98
99 long resultado = db.update("Produto", cv, "id = ?" , new String[]{String.valueOf(id)});
100
101 if(resultado>0){
102 return "OK";
103 }
104
105 else{
106 return "Não adicionou";
107 }
108 }
109
110 public String apagarProduto(int id){
111 SQLiteDatabase db = getWritableDatabase();
112
113 long resultado = db.delete("Produto", "id = ?" , new String[]{String.valueOf(id)});
114
115 if(resultado > 0){
116 return "OK";
117 }
118
119 else{
120 return "Não adicionou";
121 }
122 }
123
124 public String criarUtilizador(String username, String password){
125 SQLiteDatabase db = getWritableDatabase();
126 ContentValues cv = new ContentValues();
127 cv.put("username", username);
128 cv.put("password", password);
129 long resultado = db.insert("Utilizador", null, cv);
130
131 if(resultado>0){
132 return "OK";
133 }
134
135 else{
136 return "ERRO";
137 }
138 }
139
140 public String criarProduto(String produto_nome, int produto_quantidade){
141 SQLiteDatabase db = getWritableDatabase();
142 ContentValues cv = new ContentValues();
143 cv.put("produto_nome", produto_nome);
144 cv.put("produto_quantidade", produto_quantidade);
145 long resultado = db.insert("Produto", null, cv);
146
147 if(resultado>0){
148 return "OK";
149 }
150
151 else{
152 return "ERRO";
153 }
154 }
155}