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
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 ansqlite3
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 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
_v2
variant offers more control over how the database file is created and opened. The first two parameters are the same. The filename ...
Get Using SQLite now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.