package
com.example.multical;
import
android.content.ContentValues;
import
android.content.Context;
import
android.database.Cursor;
import
android.database.sqlite.SQLiteDatabase;
import
android.database.sqlite.SQLiteOpenHelper;
import
java.util.ArrayList;
public
class
DBAdapter
extends
SQLiteOpenHelper {
private
static
final
String DB_NAME =
"mygrade.db"
;
private
static
final
int
VERSION =
1
;
private
static
final
String ID =
"_id"
;
private
static
final
String SUBJECT =
"subject"
;
private
static
final
String SEMESTER =
"semester"
;
private
static
final
String GRADE =
"grade"
;
private
static
final
String ISU =
"isu"
;
private
static
final
String CREDIT =
"credit"
;
private
static
final
String TABLE_NAME =
"mygrades"
;
private
static
final
String CREATE_TABLE =
"CREATE TABLE "
+ TABLE_NAME +
" ("
+
ID +
" integer primary key autoincrement, "
+
SUBJECT +
" text not null, "
+
SEMESTER +
" text not null,"
+ CREDIT +
"text not null,"
+ GRADE +
"text not null"
+ ISU +
"text not null);"
;
private
SQLiteDatabase db;
public
DBAdapter(Context context) {
super
(context, DB_NAME,
null
, VERSION);
db =
this
.getWritableDatabase();
}
@Override
public
synchronized
void
close() {
db.close();
super
.close();
}
@Override
protected
void
finalize()
throws
Throwable {
close();
super
.finalize();
}
@Override
public
void
onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_TABLE);
}
@Override
public
void
onUpgrade(SQLiteDatabase db,
int
oldVersion,
int
newVersion) {
db.execSQL(
"DROP TABLE IF EXISTS "
+ TABLE_NAME);
onCreate(db);
}
create
public
boolean
insertInfo(String subject, String semester, String grade, String isu, String credit) {
ContentValues cv =
new
ContentValues();
cv.put(SUBJECT, subject);
cv.put(SEMESTER, semester);
cv.put(GRADE,grade);
cv.put(ISU,isu);
cv.put(CREDIT,credit);
return
db.insert(TABLE_NAME,
null
, cv) != -
1
;
}
read
public
ArrayList<Info> getAllInfo() {
ArrayList<Info> info =
new
ArrayList<Info>();
Cursor c = db.query(TABLE_NAME,
new
String[] {ID, SUBJECT, SEMESTER,GRADE,ISU,CREDIT},
null
,
null
,
null
,
null
, ID +
" DESC"
);
if
(c.moveToFirst()) {
final
int
indexId = c.getColumnIndex(ID);
final
int
indexSubject = c.getColumnIndex(SUBJECT);
final
int
indexSemester = c.getColumnIndex(SEMESTER);
final
int
indexGrade = c.getColumnIndex(GRADE);
final
int
indexISU = c.getColumnIndex(ISU);
final
int
indexCREDIT = c.getColumnIndex(CREDIT);
do
{
int
id = c.getInt(indexId);
String Subject = c.getString(indexSubject);
String Semester = c.getString(indexSemester);
String Grade = c.getString(indexGrade);
String ISU = c.getString(indexISU);
String Credit = c.getString(indexCREDIT);
info.add(
new
Info(id, Subject, Semester, Grade, ISU, Credit));
}
while
(c.moveToNext());
}
c.close();
return
info;
}
update
public
boolean
updateInfo(Info i) {
ContentValues cv =
new
ContentValues();
cv.put(SUBJECT, i.getSubject());
cv.put(SEMESTER, i.getSemester());
cv.put(GRADE, i.getGrade());
cv.put(ISU,i.getIsu());
cv.put(CREDIT,i.getCredit());
String[] params =
new
String[] { Integer.toString(i.getId()) };
int
result = db.update(TABLE_NAME, cv, ID +
"=?"
, params);
return
result >
0
;
}
delete
public
boolean
deleteInfo(
int
id) {
String[] params =
new
String[] { Integer.toString(id) };
int
result = db.delete(TABLE_NAME, ID +
"=?"
, params);
return
result >
0
;
}
public
boolean
deleteAll() {
int
result=db.delete(TABLE_NAME,
null
,
null
);
return
result >
0
;
}
}