To determine if a specific schema exists within an open database, use the query "SEELCT COUNT(*) FROM sqlite_master WHERE type = 'table' AND name IN ('Table12', 'Table2', ...)" and check that the resulting count is the expected value.
-ken
On 9-Apr-05, at 6:18 AM, Jochen Müller wrote:
Hello!
I am new to SQL and have a simple question concerning sqlite. I am using the functions sqlite3_open, sqlite3_get_table and sqlite3_free_table and sqlite3_close.
Because i do not yet know how to check whether a database exists or not, i always call the sqlite3_get_table function. If it returns an error, the database probably not exist. But if this function returns an error, all further calls to sqlite3 fail. In detail:
sqlite3_open(...) sqlite3_get_table(...) copy the columns to a string grid if sqlite3_get_table(...) succeeded sqlite3_free_table(...) sqlite3_close(...)
The first time sqlite3_get_table(...) fails, no further starts of this sequence work. I get no errors when executing the statements, but there's no table sqlite3_get_table copies to the given pointer variables.
There would be two solutions to my problem. I have to check first if a database exists or i have to make sqlite keep on working after sqlite3_get_table fails.
Sorry for my poor english.
Regards, Jochen