Nie sądzę, że za każdym razem powinieneś otrzymywać takie nowe wystąpienie SQLiteDatabase. Chcesz zachować odwołanie do obiektu SQLiteDatabase w swoim SQLiteOpenHelper. Twój SQLiteOpenHelper powinien być skonstruowany mniej więcej tak:
public class DataBase extends SQLiteOpenHelper {
...
private SQLiteDatabase mDatabase;
@Override
public void onCreate(SQLiteDatabase db) {
...
mDatabase = db;
...
}
void addUser(String who, String time, String table, String phone) {
ContentValues values = new ContentValues();
values.put(KEY_NAME, who);
values.put(KEY_PHONE, phone);
values.put(KEY_TABLE_RES, table);
values.put(KEY_TIME, time);
mDatabase.insert(TABLE_RESERVATION, null, values);
}
....
}