Database Connections
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.
Opening
Database connections are allocated and established with one
of the sqlite3_open_xxx() commands. These pass back a database connection
in the form of an sqlite3 data
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
sqlite3data 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 ansqlite3pointer, 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 created.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 ) The
_v2variant offers more control over how the database file is created and opened. The first two parameters are the same. The filename ...