You should pass SQLITE_OPEN_READWRITE as the 3rd argument to sqlite3_open_v2(). The problem is that the older sqlite3_open() API auto-creates a database, but it begins life as an empty vessel. > But this is no help at all because I can asure that this table is in place. Doubtful. However, make your case that the said table truly is in the database opened or auto-created with your sqlite3_open() call. I can assure you that there are one or more holes in that argument. Is the current directory for your program's process the same as the directory in which "the_insert.db" resides? And is that the very same database that you are sure has a table named "someTable"?