· 8 years ago · Jan 14, 2018, 11:04 AM
1package com.example.asus.e_lek;
2
3import android.content.ContentValues;
4import android.content.Context;
5import android.database.sqlite.SQLiteDatabase;
6import android.database.sqlite.SQLiteOpenHelper;
7
8/**
9 * Created by Asus on 27.12.2017.
10 */
11
12public class BazaDanych extends SQLiteOpenHelper {
13
14 public static final int DATABASE_VERSION = 16;
15 public static final String DATABASE_NAME = "eLek";
16
17
18 //Tabele
19 public static String TABLE_LEK = "Lek";
20 public static String TABLE_KLIENT = "Klient";
21 public static String TABLE_ZAMOWIENIE = "Zamowienie";
22 public static String TABLE_ZAMOWIENIELEK = "ZamowienieLek";
23
24 //Lek
25 public static String LEK_ID = "id";
26 public static String LEK_NAZWA = "nazwa";
27 public static String LEK_CENA = "cena";
28
29 //Klient
30 public static String KLIENT_ID = "id";
31 public static String KLIENT_IMIE = "imie";
32 public static String KLIENT_NAZWISKO = "nazwisko";
33 public static String KLIENT_ULICA = "ulica";
34 public static String KLIENT_NRDOMU = "nrDomu";
35 public static String KLIENT_NRLOKALU = "nrLokalu";
36 public static String KLIENT_LOGIN = "login";
37 public static String KLIENT_HASLO = "haslo";
38
39 //Zamowienie
40 public static String ZAMOWIENIE_ID = "id";
41 public static String ZAMOWIENIE_DATAZLOZENIA = "dataZlozenia";
42 public static String ZAMOWIENIE_KWOTALACZNA = "kwotaLaczna";
43 public static String ZAMOWIENIE_KLIENT = "idKlient";
44
45 //ZamowienieLek
46 public static String ZAMOWIENIELEK_ID = "id";
47 public static String ZAMOWIENIELEK_IDLEK = "idLek";
48 public static String ZAMOWIENIELEK_IDZAMOWIENIE = "idZamowienie";
49 public static String ZAMOWIENIELEK_ILOSC = "ilosc";
50
51 //TWORZENIE TABEL
52 public static String CREATE_TABLE_LEK = "CREATE TABLE IF NOT EXISTS "+TABLE_LEK
53 +"("+LEK_ID+" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "
54 +LEK_NAZWA+" TEXT NOT NULL, "
55 +LEK_CENA+" REAL NOT NULL)";
56
57 public static String CREATE_TABLE_KLIENT = "CREATE TABLE IF NOT EXISTS "+TABLE_KLIENT
58 +"("+KLIENT_ID+" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,"
59 +KLIENT_IMIE+" TEXT NOT NULL, "
60 +KLIENT_NAZWISKO+" TEXT NOT NULL, "
61 +KLIENT_ULICA+" TEXT NOT NULL, "
62 +KLIENT_NRDOMU+" TEXT NOT NULL, "
63 +KLIENT_NRLOKALU+" TEXT, "
64 +KLIENT_LOGIN+" TEXT NOT NULL, "
65 +KLIENT_HASLO+" TEXT NOT NULL)";
66
67 public static String CREATE_TABLE_ZAMOWIENIE = "CREATE TABLE IF NOT EXISTS "+TABLE_ZAMOWIENIE
68 +"("+ZAMOWIENIE_ID+" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "
69 +ZAMOWIENIE_DATAZLOZENIA+" DATETIME NOT NULL, "
70 +ZAMOWIENIE_KWOTALACZNA+" REAL NOT NULL, "
71 +ZAMOWIENIE_KLIENT+" INT NOT NULL, "
72 +"FOREIGN KEY ("+ZAMOWIENIE_KLIENT+") REFERENCES "+TABLE_KLIENT+"("+KLIENT_ID+"))";
73
74
75 public static String CREATE_TABLE_ZAMOWIENIELEK = "CREATE TABLE IF NOT EXISTS "+TABLE_ZAMOWIENIELEK
76 +"("+ZAMOWIENIELEK_ID+" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "
77 +ZAMOWIENIELEK_IDLEK+" INTEGER NOT NULL, "
78 +ZAMOWIENIELEK_IDZAMOWIENIE+" INTEGER NOT NULL, "
79 +ZAMOWIENIELEK_ILOSC+" INTEGER NOT NULL, "
80 +"FOREIGN KEY ("+ZAMOWIENIELEK_IDLEK+") REFERENCES "+TABLE_LEK+"("+LEK_ID+"), "
81 +"FOREIGN KEY ("+ZAMOWIENIELEK_IDZAMOWIENIE+") REFERENCES "+TABLE_ZAMOWIENIE+"("+ZAMOWIENIE_ID+"))";
82
83 //RAW QUERRYS
84 public static String INNER_JOIN_ZAMOWIENIELEK = "SELECT * FROM "+TABLE_ZAMOWIENIELEK+" " +
85 " INNER JOIN "+TABLE_LEK+" ON "+TABLE_ZAMOWIENIELEK+"."+ZAMOWIENIELEK_IDLEK+" = "+TABLE_LEK+"."+LEK_ID+
86 " INNER JOIN "+TABLE_ZAMOWIENIE+" ON "+TABLE_ZAMOWIENIELEK+"."+ZAMOWIENIELEK_IDZAMOWIENIE+" = "+TABLE_ZAMOWIENIE+"."+ZAMOWIENIE_ID+
87 " WHERE "+TABLE_ZAMOWIENIE+"."+ZAMOWIENIE_ID+" =?";
88
89
90 public BazaDanych(Context context){
91 super(context, DATABASE_NAME, null, DATABASE_VERSION);
92 }
93
94 @Override
95 public void onCreate(SQLiteDatabase db) {
96 db.execSQL(CREATE_TABLE_LEK);
97 db.execSQL(CREATE_TABLE_KLIENT);
98 db.execSQL(CREATE_TABLE_ZAMOWIENIE);
99 db.execSQL(CREATE_TABLE_ZAMOWIENIELEK);
100 dodajDane(db);
101 }
102
103 @Override
104 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
105 db.execSQL("DROP TABLE IF EXISTS "+TABLE_ZAMOWIENIELEK);
106 db.execSQL("DROP TABLE IF EXISTS "+TABLE_ZAMOWIENIE);
107 db.execSQL("DROP TABLE IF EXISTS "+TABLE_KLIENT);
108 db.execSQL("DROP TABLE IF EXISTS "+TABLE_LEK);
109 onCreate(db);
110 }
111
112 public void dodajDane(SQLiteDatabase db)
113 {
114 dodajLek(db, "Etopiryna", 5.00);
115 dodajLek(db, "Rutinoscorbin", 2.00);
116 dodajLek(db, "Aspiryna", 3.00);
117 dodajLek(db, "Ventolin", 5.50);
118 dodajLek(db, "Apap", 13.69);
119 }
120
121 public void dodajLek(SQLiteDatabase db, String nazwa, double cena)
122 {
123 ContentValues cv = new ContentValues();
124 cv.put(LEK_NAZWA, nazwa);
125 cv.put(LEK_CENA, cena);
126 db.insert(TABLE_LEK, null, cv);
127 }
128}