Hi Justin,

Again sorry for the confusion I only used TABLE in the subject head the real
error is:
no such table: local_network: , while compiling: SELECT _id, network, url
FROM local_network
Thanks

Rodney
On Mon, Jul 19, 2010 at 10:44 PM, Justin Anderson
<janderson....@gmail.com>wrote:

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