Hi Justin, Thanks for the quick reply yes it is in the fetchall() definition. I hardcoded it find the table I wanted to query "local_network".
Sorry for any confusion. On Mon, Jul 19, 2010 at 9:29 PM, Justin Anderson <janderson....@gmail.com>wrote: > Where is the code for the select statement? Is it the fetchAll() method? > > ---------------------------------------------------------------------- > There are only 10 types of people in the world... > Those who know binary and those who don't. > ---------------------------------------------------------------------- > > > On Mon, Jul 19, 2010 at 1:37 PM, Rodney Lendore > <rodney.lend...@gmail.com>wrote: > >> Hi, >> >> I have followed the instructions from this site to the letter >> >> http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/comment-page-2/ >> but to no avail. Each time I run the code suggested, the Eclipse debugger >> keep throwing the following error >> no such table: TABLE: , while compiling: SELECT _id, network, url FROM >> TABLE. >> >> I created the database using SQLite Browser and ran the emulator's shell >> and can see that the database was there. >> >> Here is the code that I am implementing to manage the database: >> package com.rodney.IET_Events_Widget; >> >> import java.io.FileOutputStream; >> import java.io.IOException; >> import java.io.InputStream; >> import java.io.OutputStream; >> >> import android.content.Context; >> import android.database.Cursor; >> import android.database.SQLException; >> import android.database.sqlite.SQLiteDatabase; >> import android.database.sqlite.SQLiteException; >> import android.database.sqlite.SQLiteOpenHelper; >> >> public class DataBaseHelper extends SQLiteOpenHelper { >> >> //The Android's default system path of your application database. >> private static String DB_PATH = >> "/data/data/com.rodney.IET_Events_Widget/databases/"; >> private static final String DB_NAME = "local_network_db"; >> private static final String DB_TABLE = "local_network"; >> public static final String KEY_NETWORK = "network"; >> public static final String KEY_URL = "url"; >> public static final String KEY_ROWID = "_id"; >> private SQLiteDatabase myDataBase; >> private final Context myContext; >> >> /** >> * Constructor >> * Takes and keeps a reference of the passed context in order to >> access to the application assets and resources. >> * @param context >> */ >> public DataBaseHelper(Context context) { >> >> super(context, DB_NAME, null, 1); >> this.myContext = context; >> } >> >> /** >> * Creates a empty database on the system and rewrites it with your >> own database. >> * */ >> public void createDataBase() throws SQLException{ >> >> boolean dbExist = checkDataBase(); >> >> if(dbExist){ >> //do nothing - database already exist >> }else{ >> >> //By calling this method and empty database will be created >> into the default system path >> //of your application so we are gonna be able to overwrite >> that database with our database. >> this.getReadableDatabase(); >> >> try { >> >> copyDataBase(); >> >> } catch (IOException e) { >> >> throw new Error("Error copying database"); >> >> } >> } >> >> } >> >> /** >> * Check if the database already exist to avoid re-copying the file >> each time you open the application. >> * @return true if it exists, false if it doesn't >> */ >> private boolean checkDataBase(){ >> >> SQLiteDatabase checkDB = null; >> >> try{ >> String myPath = DB_PATH + DB_NAME; >> checkDB = SQLiteDatabase.openDatabase(myPath, null, >> SQLiteDatabase.OPEN_READONLY); >> >> }catch(SQLiteException e){ >> >> //database does't exist yet. >> >> } >> >> if(checkDB != null){ >> >> checkDB.close(); >> >> } >> >> return checkDB != null ? true : false; >> } >> >> /** >> * Copies your database from your local assets-folder to the just >> created empty database in the >> * system folder, from where it can be accessed and handled. >> * This is done by transferring bytestream. >> * */ >> private void copyDataBase() throws IOException{ >> >> //Open your local db as the input stream >> InputStream myInput = myContext.getAssets().open(DB_NAME); >> >> // Path to the just created empty db >> String outFileName = DB_PATH + DB_NAME; >> >> //Open the empty db as the output stream >> OutputStream myOutput = new FileOutputStream(outFileName); >> >> //transfer bytes from the inputfile to the outputfile >> byte[] buffer = new byte[1024]; >> int length; >> while ((length = myInput.read(buffer))>0){ >> myOutput.write(buffer, 0, length); >> } >> >> //Close the streams >> myOutput.flush(); >> myOutput.close(); >> myInput.close(); >> >> } >> >> public void openDataBase() throws SQLException{ >> >> //Open the database >> String myPath = DB_PATH + DB_NAME; >> myDataBase = SQLiteDatabase.openDatabase(myPath, null, >> SQLiteDatabase.OPEN_READONLY); >> >> } >> >> @Override >> public synchronized void close() { >> >> if(myDataBase != null) >> myDataBase.close(); >> >> super.close(); >> >> } >> >> @Override >> public void onCreate(SQLiteDatabase db) { >> >> } >> >> @Override >> public void onUpgrade(SQLiteDatabase db, int oldVersion, int >> newVersion) { >> >> } >> >> /** >> * Return a Cursor over the list of all notes in the database >> * >> * @return Cursor over all notes >> */ >> >> public Cursor fetchAll() { >> return myDataBase.query("local_network", new String[] {KEY_ROWID, >> KEY_NETWORK,KEY_URL}, null, null, null, null, null); >> } >> >> >> } >> >> And here is the code for the implementation in my ListView Activity: >> >> public void onCreate(Bundle savedInstanceState) { >> super.onCreate(savedInstanceState); >> setContentView(R.layout.cfg_activity); >> mDbHelper = new DataBaseHelper(this); >> mDbHelper.openDataBase(); >> fillData(); >> saveButton(); >> cancelButton(); >> Intent intent = getIntent(); >> Bundle extras = intent.getExtras(); >> if (extras != null) { >> mAppWidgetId = extras.getInt( >> AppWidgetManager.EXTRA_APPWIDGET_ID, >> AppWidgetManager.INVALID_APPWIDGET_ID); >> } >> } >> >> ......... >> ........... >> ................. >> >> private void fillData() { >> // Get all of the rows from the database and create the item >> list >> mNetworkCursor = mDbHelper.fetchAll(); >> startManagingCursor(mNetworkCursor); >> >> // Create an array to specify the fields we want to display in >> the list (only TITLE) >> String[] from = new String[]{DataBaseHelper.KEY_NETWORK}; >> >> // and an array of the fields we want to bind those fields to >> (in this case just text1) >> int[] to = new int[]{R.id.text1}; >> >> // Now create a simple cursor adapter and set it to display >> SimpleCursorAdapter iet_networks = new >> SimpleCursorAdapter(this, R.layout.ln_rows, mNetworkCursor, from, to); >> setListAdapter(networks); >> } >> >> Any clues or help will be greatly appreciated, let me know if more detail >> is required. >> >> >> Many thanks in advance >> >> Rodney >> >> -- >> You received this message because you are subscribed to the Google >> Groups "Android Beginners" group. >> >> NEW! Try asking and tagging your question on Stack Overflow at >> http://stackoverflow.com/questions/tagged/android >> >> To unsubscribe from this group, send email to >> android-beginners+unsubscr...@googlegroups.com<android-beginners%2bunsubscr...@googlegroups.com> >> For more options, visit this group at >> http://groups.google.com/group/android-beginners?hl=en >> > > -- > You received this message because you are subscribed to the Google > Groups "Android Beginners" group. > > NEW! Try asking and tagging your question on Stack Overflow at > http://stackoverflow.com/questions/tagged/android > > To unsubscribe from this group, send email to > android-beginners+unsubscr...@googlegroups.com<android-beginners%2bunsubscr...@googlegroups.com> > For more options, visit this group at > http://groups.google.com/group/android-beginners?hl=en > -- You received this message because you are subscribed to the Google Groups "Android Beginners" group. NEW! Try asking and tagging your question on Stack Overflow at http://stackoverflow.com/questions/tagged/android To unsubscribe from this group, send email to android-beginners+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-beginners?hl=en