· 5 years ago · Feb 15, 2020, 08:40 PM
1package com.example.lab2;
2import android.database.sqlite.SQLiteDatabase;
3import android.database.sqlite.SQLiteOpenHelper;
4import android.content.Context;
5import android.content.ContentValues;
6import android.database.Cursor;
7import android.util.Log;
8
9import java.util.ArrayList;
10import java.util.List;
11
12public class MyDBHandler extends SQLiteOpenHelper {
13 //information of database
14 private static final int DATABASE_VERSION = 2;
15 private static final String DATABASE_NAME = "studentDB.db";
16 public static final String TABLE_NAME = "Student";
17 public static final String COLUMN_ID = "StudentID";
18 public static final String COLUMN_NAME = "StudentName";
19 public static final String COLUMN_MARK = "StudentMark";
20
21 public MyDBHandler(Context context,
22 SQLiteDatabase.CursorFactory factory) {
23 super(context, DATABASE_NAME, factory, DATABASE_VERSION);
24 }
25 @Override
26 public void onCreate(SQLiteDatabase db) {
27 String CREATE_TABLE = "CREATE TABLE IF NOT EXISTS " + TABLE_NAME + "(" + COLUMN_ID +
28 "INTEGER" + COLUMN_NAME + " TEXT," + COLUMN_MARK + " INTEGER" + ")";
29 db.execSQL(CREATE_TABLE);
30 }
31
32 public String loadHandler() {
33 String result = "";
34 String query = "Select * FROM " + TABLE_NAME;
35 SQLiteDatabase db = this.getWritableDatabase();
36 Cursor cursor = db.rawQuery(query, null);
37 while (cursor.moveToNext()) {
38 int result_0 = cursor.getInt(0);
39 String result_1 = cursor.getString(1);
40 int result_2 = cursor.getInt(2);
41 result += String.valueOf(result_0) + " " + result_1 + result_2 + "" +
42 System.getProperty("line.separator");
43 }
44 cursor.close();
45 db.close();
46 return result;
47 }
48 public void addHandler(Student student) {
49 ContentValues values = new ContentValues();
50 values.put(COLUMN_ID, student.getID());
51 values.put(COLUMN_NAME, student.getStudentName());
52 values.put(COLUMN_MARK, student.getStudentMarks());
53 SQLiteDatabase db = this.getWritableDatabase();
54 db.insert(TABLE_NAME, null, values);
55 db.close();
56 }
57 public Student findHandler(int ID) {
58
59 String query = "Select * FROM " + TABLE_NAME + "WHERE" + COLUMN_NAME + " = " + "'" + ID + "'";
60 SQLiteDatabase db = this.getWritableDatabase();
61 Cursor cursor = db.rawQuery(query, null);
62 Student student = new Student();
63 if (cursor.moveToFirst()) {
64 cursor.moveToFirst();
65 student.setID(Integer.parseInt(cursor.getString(0)));
66 student.setStudentName(cursor.getString(1));
67 student.setStudentMarks(Integer.parseInt(cursor.getString(2)));
68 cursor.close();
69 } else {
70 student = null;
71 }
72 db.close();
73 return student;
74 }
75 public boolean deleteHandler(int ID) {
76
77 boolean result = false;
78 String query = "Select*FROM" + TABLE_NAME + "WHERE" + COLUMN_ID + "= '" + String.valueOf(ID) + "'";
79 SQLiteDatabase db = this.getWritableDatabase();
80 Cursor cursor = db.rawQuery(query, null);
81 Student student = new Student();
82 if (cursor.moveToFirst()) {
83 student.setID(Integer.parseInt(cursor.getString(0)));
84 db.delete(TABLE_NAME, COLUMN_ID + "=?",
85 new String[] {
86 String.valueOf(student.getID())
87 });
88 cursor.close();
89 result = true;
90 }
91 db.close();
92 return result;
93 }
94
95
96 public boolean updateHandler(int ID, String name, String marks) {
97 SQLiteDatabase db = this.getWritableDatabase();
98 ContentValues args = new ContentValues();
99 args.put(COLUMN_ID, ID);
100 args.put(COLUMN_NAME, name);
101 args.put(COLUMN_MARK, marks);
102 return db.update(TABLE_NAME, args, COLUMN_ID + "=" + ID, null) > 0;
103 }
104 public void onUpgrade(SQLiteDatabase db, int i, int i1) {}
105 public ArrayList < Student > findAll() {
106 SQLiteDatabase db = this.getReadableDatabase();
107 Cursor cursor = db.rawQuery("select * from " + TABLE_NAME, null);
108
109 ArrayList < Student > fileName = new ArrayList < > ();
110
111 if (cursor.moveToFirst()) {
112 String name = cursor.getString(cursor.getColumnIndex(COLUMN_NAME));
113 String marks = cursor.getString(cursor.getColumnIndex(COLUMN_MARK));
114 String id = cursor.getString(cursor.getColumnIndex(COLUMN_ID));
115 Student s = new Student(Integer.parseInt(id), name, Integer.parseInt(marks));
116 fileName.add(s);
117 while (cursor.moveToNext()) {
118 name = cursor.getString(cursor.getColumnIndex(COLUMN_NAME));
119 marks = cursor.getString(cursor.getColumnIndex(COLUMN_MARK));
120 id = cursor.getString(cursor.getColumnIndex(COLUMN_ID));
121 s = new Student(Integer.parseInt(id), name, Integer.parseInt(marks));
122 }
123 }
124 cursor.close();
125 db.close();
126 return fileName;
127 }
128}