Before we can prepare or execute SQL statements, we must first establish a database connection. Most often this is done by opening or creating an SQLite3 database file. When you are done with the database connection, it must be closed. This verifies that there are no outstanding statements or allocated resources before closing the database file.
Database connections are allocated and established with one
xxx() commands. These pass back a database connection
in the form of an
structure. There are three variants:
int sqlite3_open( const char *filename, sqlite3 **db_ptr )
int sqlite3_open16( const void *filename, sqlite3 **db_ptr )
Opens a database file and allocates an
sqlite3 data structure.
The first parameter is the filename of the database
file you wish to open, given as a null-terminated
string. The second parameter is a reference to an
pointer, and is used to pass back the new
connection. If possible, the database will be opened
read/write. If not, it will be opened read-only. If
the given database file does not exist, it will be
The first variant assumes that the database filename is encoded in UTF-8, while the second assumes that the database filename is encoded in UTF-16.
int sqlite3_open_v2( const char *filename, sqlite3 **db_ptr, int flags, const char *vfs_name )
_v2 variant offers more control over how the database file is created and opened. The first two parameters are the same. The filename ...