public class GestoreDbTesi {
private static final String TAG = GestoreDbTesi.class.getSimpleName();
public static final String C_ID = BaseColumns._ID;
public static final String COLONNA_NUMEROTESI = "NUMERO_TESI";
public static final String COLONNA_RELATORE = "RELATORE";
public static final String COLONNA_TESISTA = "TESISTA";
public static final String COLONNA_TITOLOTESI = "TITOLO_TESI";
public static final String COLONNA_DATALAUREA = "DATA_LAUREA";
public static final String COLONNA_DATASEMINARIO = "DATA_SEMINARIO";
private static int idcounter = 0;
public GestoreDbTesi(Context context){
dbHelper = new DbHelper();
public void insert(Tesi t) {
ContentValues values = new ContentValues();
values.put(C_ID, idcounter);
values.put(COLONNA_NUMEROTESI, t.getNumeroTesi());
values.put(COLONNA_RELATORE, t.getRelatore());
values.put(COLONNA_TESISTA, t.getTesista());
values.put(COLONNA_TITOLOTESI, t.getTitoloTesi());
values.put(COLONNA_DATALAUREA, t.getDataLaurea());
values.put(COLONNA_DATASEMINARIO, t.getDataSeminario());
SQLiteDatabase db = dbHelper.getWritableDatabase();
Cursor c = getTesiByTesista(t.getTesista());
db.insert(DbHelper.TABLE, null, values);
else db.replace(DbHelper.TABLE, null, values);
public Cursor getTesiByRelatore(String relatore){
SQLiteDatabase db = dbHelper.getReadableDatabase();
String query = "SELECT * FROM tesi WHERE RELATORE = ? ORDER BY RELATORE ASC";
String[] selectionArgs = {relatore};
c1 = db.rawQuery(query, selectionArgs);
public Cursor getTesiByTesista(String tesista){
SQLiteDatabase db = dbHelper.getReadableDatabase();
String query = "SELECT * FROM tesi WHERE TESISTA = ? ORDER BY RELATORE ASC";
String[] selectionArgs = {tesista};
c1 = db.rawQuery(query, selectionArgs);
SQLiteDatabase db = dbHelper.getReadableDatabase();
Cursor c = db.query(dbHelper.TABLE, null, null, null, null, null, "RELATORE");
SQLiteDatabase db = dbHelper.getWritableDatabase();
db.delete(DbHelper.TABLE, null, null);
private class DbHelper extends SQLiteOpenHelper{
public static final String DB_NAME = "tesideis.db";
public static final int DB_VERSION = 1;
public static final String TABLE = "tesi";
super(context, DB_NAME, null, DB_VERSION);
public void onCreate(SQLiteDatabase db) {
String sql = String.format(
"create table %s (%s int primary key, %s TEXT, %s TEXT, %s TEXT, %s TEXT, %s TEXT, %s TEXT",
TABLE, C_ID, COLONNA_NUMEROTESI, COLONNA_RELATORE, COLONNA_TESISTA, COLONNA_TITOLOTESI, COLONNA_DATALAUREA, COLONNA_DATASEMINARIO);
Log.d(TAG, "onCreate sql: " + sql);
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("drop table if exists " + TABLE);
Log.d(TAG, "onUpdate dropped table " + TABLE);