How does one check if a table exists in an Android SQLite database?

Posted by camperdave on Stack Overflow See other posts from Stack Overflow or by camperdave
Published on 2010-06-17T04:40:06Z Indexed on 2010/06/17 4:43 UTC
Read the original article Hit count: 745

Filed under:
|

I have an android app that needs to check if there's already a record in the database, and if not, process some things and eventually insert it, and simply read the data from the database if the data does exist. I'm using a subclass of SQLiteOpenHelper to create and get a rewritable instance of SQLiteDatabase, which I thought automatically took care of creating the table if it didn't already exist (since the code to do that is in the onCreate(...) method).

However, when the table does NOT yet exist, and the first method ran upon the SQLiteDatabase object I have is a call to query(...), my logcat shows an error of "I/Database(26434): sqlite returned: error code = 1, msg = no such table: appdata", and sure enough, the appdata table isn't being created.

Any ideas on why?

I'm looking for either a method to test if the table exists (because if it doesn't, the data's certainly not in it, and I don't need to read it until I write to it, which seems to create the table properly), or a way to make sure that it gets created, and is just empty, in time for that first call to query(...)

© Stack Overflow or respective owner

Related posts about android

Related posts about sqlite