Note that there are some explanatory texts on larger screens.

plurals
  1. PONo such table .. when I modify the table in android eclipse
    primarykey
    data
    text
    <p>I have a database and I import it to my project (android mobile application ) it works and it retrieve the data from the tables, but when I modify the database by adding tables or rows through the sqlite database browser, then I clean the project and import the new database and uninstall the project from my device and run it again it force stop the application and in the log section it tells that there is no such table .. </p> <p>Even when I create new database and import it to the project, it is not working.</p> <pre><code>10-11 13:55:03.152: E/SQLiteLog(10632): (1) no such table: facilities 10-11 13:55:03.162: D/AndroidRuntime(10632): Shutting down VM 10-11 13:55:03.162: W/dalvikvm(10632): threadid=1: thread exiting with uncaught exception (group=0x419b6700) 10-11 13:55:03.182: E/AndroidRuntime(10632): FATAL EXCEPTION: main 10-11 13:55:03.182: E/AndroidRuntime(10632): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.buttontest/com.example.buttontest.WhereToGo}: android.database.sqlite.SQLiteException: no such table: facilities (code 1): , while compiling: SELECT category as '_id' FROM facilities 10-11 13:55:03.182: E/AndroidRuntime(10632): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211) 10-11 13:55:03.182: E/AndroidRuntime(10632): at android.app.ActivityThread.startActivityNow(ActivityThread.java:2054) 10-11 13:55:03.182: E/AndroidRuntime(10632): at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:135) 10-11 13:55:03.182: E/AndroidRuntime(10632): at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:347) 10-11 13:55:03.182: E/AndroidRuntime(10632): at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:749) 10-11 13:55:03.182: E/AndroidRuntime(10632): at android.widget.TabHost.setCurrentTab(TabHost.java:413) 10-11 13:55:03.182: E/AndroidRuntime(10632): at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:154) 10-11 13:55:03.182: E/AndroidRuntime(10632): at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:546) 10-11 13:55:03.182: E/AndroidRuntime(10632): at android.view.View.performClick(View.java:4240) 10-11 13:55:03.182: E/AndroidRuntime(10632): at android.view.View$PerformClick.run(View.java:17721) 10-11 13:55:03.182: E/AndroidRuntime(10632): at android.os.Handler.handleCallback(Handler.java:730) 10-11 13:55:03.182: E/AndroidRuntime(10632): at android.os.Handler.dispatchMessage(Handler.java:92) 10-11 13:55:03.182: E/AndroidRuntime(10632): at android.os.Looper.loop(Looper.java:137) 10-11 13:55:03.182: E/AndroidRuntime(10632): at android.app.ActivityThread.main(ActivityThread.java:5103) 10-11 13:55:03.182: E/AndroidRuntime(10632): at java.lang.reflect.Method.invokeNative(Native Method) 10-11 13:55:03.182: E/AndroidRuntime(10632): at java.lang.reflect.Method.invoke(Method.java:525) 10-11 13:55:03.182: E/AndroidRuntime(10632): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 10-11 13:55:03.182: E/AndroidRuntime(10632): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 10-11 13:55:03.182: E/AndroidRuntime(10632): at dalvik.system.NativeStart.main(Native Method) 10-11 13:55:03.182: E/AndroidRuntime(10632): Caused by: android.database.sqlite.SQLiteException: no such table: facilities (code 1): , while compiling: SELECT category as '_id' FROM facilities 10-11 13:55:03.182: E/AndroidRuntime(10632): at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method) 10-11 13:55:03.182: E/AndroidRuntime(10632): at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889) 10-11 13:55:03.182: E/AndroidRuntime(10632): at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500) 10-11 13:55:03.182: E/AndroidRuntime(10632): at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588) 10-11 13:55:03.182: E/AndroidRuntime(10632): at android.database.sqlite.SQLiteProgram.&lt;init&gt;(SQLiteProgram.java:58) 10-11 13:55:03.182: E/AndroidRuntime(10632): at android.database.sqlite.SQLiteQuery.&lt;init&gt;(SQLiteQuery.java:37) 10-11 13:55:03.182: E/AndroidRuntime(10632): at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44) 10-11 13:55:03.182: E/AndroidRuntime(10632): at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1314) 10-11 13:55:03.182: E/AndroidRuntime(10632): at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1253) 10-11 13:55:03.182: E/AndroidRuntime(10632): at com.example.buttontest.WhereToGo.listNotes(WhereToGo.java:34) 10-11 13:55:03.182: E/AndroidRuntime(10632): at com.example.buttontest.WhereToGo.onStart(WhereToGo.java:28) 10-11 13:55:03.182: E/AndroidRuntime(10632): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1171) 10-11 13:55:03.182: E/AndroidRuntime(10632): at android.app.Activity.performStart(Activity.java:5143) 10-11 13:55:03.182: E/AndroidRuntime(10632): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184) 10-11 13:55:03.182: E/AndroidRuntime(10632): ... 18 more 10-11 13:55:04.832: I/Process(10632): Sending signal. PID: 10632 SIG: 9 </code></pre> <p>Here is my code:</p> <p>DataBaseHelper.java</p> <pre><code>public class DataBaseHelper extends SQLiteOpenHelper { private static String TAG = "DataBaseHelper"; // Tag just for the LogCat window //destination path (location) of our database on device private static String DB_PATH = ""; private static String DB_NAME ="btm_";// Database name private SQLiteDatabase mDataBase; private final Context mContext; public DataBaseHelper(Context context) { super(context, DB_NAME, null, 1);// 1? its Database Version DB_PATH = "/data/data/" + context.getPackageName() + "/databases/"; this.mContext = context; } public void createDataBase() throws IOException { //If database not exists copy it from the assets boolean mDataBaseExist = checkDataBase(); if(!mDataBaseExist) { SQLiteDatabase db = this.getReadableDatabase(); if (db.isOpen()){ db.close(); } this.close(); try { //Copy the database from assests copyDataBase(); Log.e(TAG, "createDatabase database created"); } catch (IOException mIOException) { throw new Error("ErrorCopyingDataBase"); } } } //Check that the database exists here: /data/data/your package/databases/Da Name private boolean checkDataBase() { File dbFile = new File(DB_PATH + DB_NAME); //Log.v("dbFile", dbFile + " "+ dbFile.exists()); return dbFile.exists(); } //Copy the database from assets private void copyDataBase() throws IOException { InputStream mInput = mContext.getAssets().open(DB_NAME); String outFileName = DB_PATH + DB_NAME; OutputStream mOutput = new FileOutputStream(outFileName); byte[] mBuffer = new byte[1024]; int mLength; while ((mLength = mInput.read(mBuffer))&gt;0) { mOutput.write(mBuffer, 0, mLength); } mOutput.flush(); mOutput.close(); mInput.close(); } //Open the database, so we can query it public boolean openDataBase() throws SQLException { String mPath = DB_PATH + DB_NAME; //Log.v("mPath", mPath); mDataBase = SQLiteDatabase.openDatabase(mPath, null, SQLiteDatabase.CREATE_IF_NECESSARY); return mDataBase != null; } @Override public synchronized void close() { if(mDataBase != null) mDataBase.close(); super.close(); } public Cursor getData() { String myPath = DB_PATH + DB_NAME; mDataBase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY); Cursor c = mDataBase.rawQuery("SELECT * FROM category", null); return c; } public Cursor getFacilityData() { String myPath = DB_PATH + DB_NAME; mDataBase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY); Cursor c = mDataBase.rawQuery("SELECT _id,name FROM facilities", null); return c; } @Override public void onCreate(SQLiteDatabase arg0) { // TODO Auto-generated method stub } And Here is new class with calling the database code: private void listNotes(){ SQLiteDatabase db = db_con.getWritableDatabase(); try { Cursor c = db.rawQuery("SELECT category as '_id' " + "FROM facilities ",null ); final ListAdapter noteAdapter = new SimpleCursorAdapter(this,android.R.layout.simple_list_item_2, c,new String[] {"_id"},new int[] {android.R.id.text1}); this.setListAdapter(noteAdapter); } finally { db.close(); } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload