And before you were using TABLE?  If that is the case, you defined DB_TABLE
but not TABLE.
----------------------------------------------------------------------
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 3:35 PM, Rodney Lendore <rodney.lend...@gmail.com>wrote:

> 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<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

Reply via email to