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;
}
}
오류도안떠서 답답합니다 ㅠㅠ 어디가 문제일까요???