I had a problem with my bdd in android apparently everything is due to how I have structured the part of onUpgrade
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_CAJAS);
onCreate(db);
}
On some occasions the whole table is deleted, as I could do so that this never happens and avoid loss of information that really needs to be saved.
Full Code of my database class
public class BasedeDatos_AgroMovil extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "agromovil.db";
public static final String TABLE_CAJAS = "cajas";
//constructor
public BasedeDatos_AgroMovil(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, DATABASE_NAME, factory, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String TABLA_CAJAS = "CREATE TABLE " + TABLE_CAJAS + " (" +
COLUMN_ID + " INTEGER PRIMARY KEY, " +
COLUMN_FECHA + " TEXT," +
COLUMN_RANCHO + " TEXT," +
COLUMN_SECTOR + " TEXT," +
COLUMN_TRABAJADOR + " TEXT)";
db.execSQL(TABLA_CAJAS);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_CAJAS);
onCreate(db);
}
}