Luis Esteban Fajardo Bravo wrote:
Hi! we've using SQLite on our software since about a month ago, and
still i have some questions about how does sqlite works at all.
I have the following sourcecode to check if a database is already
created, if yes then just open, if not, open it and create the
appropiate schema for the database:
if ( sqlite3_open_v2(path,&historydb,SQLITE_OPEN_READWRITE,NULL) !=
SQLITE_OK) {
// Create the database
sqlite3_close(historydb);
if (sqlite3_open(path,&historydb) == SQLITE_OK) {
// Now we create the default tables
strcpy(query,"create table parameters (param_id integer
primary key, param_name text(100));create table data_values (timestamp
integer(4), value real, param_id integer(2));");
rc = sqlite3_exec(historydb,query,process_query,NULL,&errmsg);
if (rc == SQLITE_OK) {
strcpy(query,"pragma default_cache_size=40;");
rc=sqlite3_exec(historydb,query,process_query,NULL,&errmsg);
}
if (rc != SQLITE_OK) {
// An error ocurred during database creation
printf("SQL Error: ",errmsg);
sqlite3_free(errmsg);
return 0;
}
} else {
// Unable to create database
return 0;
}
}
This works fine under linux, and in windows if i run it onto gdb, but
not if i call my object code from the command prompt, my question is if
there's a better solution for check if the database is already created,
something like a "describe" SQL Command (in oracle) that help to know if
the schema is already there on the database?
Thank you!
You can use an "access" call to see if the file exists. If you open it
to test for existence you can do a "magic" test and look for the first
few bytes being "SQLite" to authenticate it as an Sqlite DB.
-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------