How can it happen that the table does not exist? In one installation of thousands? -- Seems bad installation of app. so, re-install and try.
-- Another reason, phone is on low memory and having no space to create db. so DB has not created and your query is going to ask about table. So, conform it, where are you creating DB on phone internal memory/SD-Card, and is there space for it or not? Regards Imran ali Regards Imran Ali On Thursday, May 24, 2012 11:46:15 AM UTC+5:30, Ralph Bergmann wrote: > > Hello, > > > my app was released a year ago or so, but now one year later, I get the > following error message: > > android.database.sqlite.SQLiteException: no such table: tracking: , > while compiling: SELECT _id, ... > > How can it happen that the table does not exist? In one installation of > thousands? > > The app accesses the db via an SQLiteOpenHelper. > > This is my implementation, a little bit shortened: > > > public class DatabaseHelper extends SQLiteOpenHelper { > > private static final int DATABASE_VERSION = 22; > > private static final String DATABASE_NAME = "de.sportscheck.db"; > > private static DatabaseHelper dh; > > public static synchronized DatabaseHelper singleton(final Context > context) { > > if (dh == null) { > dh = new DatabaseHelper(context); > } > > return dh; > } > > private DatabaseHelper(final Context context) { > > super(context, DATABASE_NAME, null, DATABASE_VERSION); > } > > @Override > public void onCreate(SQLiteDatabase db) { > > createTrainingTable(db); > createTrainingStepTable(db); > createTrackingTable(db); > createBreadcrumbTable(db); > createKmTable(db); > } > > @Override > public void onUpgrade(SQLiteDatabase db, int oldVersion, int > newVersion) { > > if (oldVersion == 12) { > > db.execSQL("ALTER TABLE " ... > db.execSQL("ALTER TABLE " ... > } > > if (oldVersion == 21) { > > createKmTable(db); > } > } > > private void createTrainingTable(SQLiteDatabase db) { > > db.execSQL("DROP TABLE IF EXISTS > ".concat(TrainingProvider.TABLE_NAME) + ";"); > String sql = "CREATE TABLE ".concat(TrainingProvider.TABLE_NAME) ... > .concat(TrainingItem.TYP).concat(" TEXT);"); > db.execSQL(sql); > } > > private void createTrainingStepTable(SQLiteDatabase db) { > > db.execSQL("DROP TABLE IF EXISTS > ".concat(TrainingStepProvider.TABLE_NAME) + ";"); > String sql = "CREATE TABLE > ".concat(TrainingStepProvider.TABLE_NAME) ... > db.execSQL(sql); > } > > private void createTrackingTable(SQLiteDatabase db) { > > db.execSQL("DROP TABLE IF EXISTS > ".concat(TrackingProvider.TABLE_NAME) + ";"); > String sql = "CREATE TABLE ".concat(TrackingProvider.TABLE_NAME) ... > db.execSQL(sql); > } > > private void createBreadcrumbTable(SQLiteDatabase db) { > > db.execSQL("DROP TABLE IF EXISTS > ".concat(BreadcrumbProvider.TABLE_NAME) + ";"); > String sql = "CREATE TABLE ".concat(BreadcrumbProvider.TABLE_NAME) > ... > db.execSQL(sql); > } > > private void createKmTable(SQLiteDatabase db) { > > db.execSQL("DROP TABLE IF EXISTS ".concat(KmProvider.TABLE_NAME) + > ";"); > String sql = "CREATE TABLE ".concat(KmProvider.TABLE_NAME) ... > db.execSQL(sql); > } > } > -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en